2024年3月3日 星期日

五分鐘學會用Google Gemma語言模型來生成旅宿問題


 

大家好,我是APMIC的資料科學家Jerry,很高興能夠跟大家介紹Google最近發表的落地模型Gemma,這個模型是Google Gemini雲端模型的家族模型,目前有分2B跟7B,支援在Keras 3.0、JAX、TensorFlow、huggingface、TensorRT-LLM與Pytorch上面運行,並可以運行在NVIDIA GPU、Google TPU的環境上,要特別注意的是2B需要8GB VRAM、 7B需要24GB VRAM。

性能比較如下:

在Meta、Mistral的比較下,Gemma表現略勝於同等級模型。


開源的程式碼如下:

https://github.com/google-deepmind/gemma

Keras 3.0請參閱:

https://keras.io/api/keras_nlp/models/gemma/

https://www.kaggle.com/models/google/gemma/frameworks/keras

JAX:

https://www.kaggle.com/models/google/gemma/frameworks/flax

Pytorch:

https://www.kaggle.com/models/google/gemma/frameworks/pyTorch

可以直接到這裡看更多

如果只想無腦的用,可以直接在Colab上跑Gemma,請點這裡

Google官方的介紹

https://ai.google.dev/gemma


接下來,就來用一個例子分享給大家,這個例子是用Gemma來進行繁體中文的生成在旅宿的應用,只要三個步驟。

步驟一、先將模型呼叫進來

from transformers import AutoTokenizer, pipeline

import torch


model = "google/gemma-7b-it"

batch_size = 8


tokenizer = AutoTokenizer.from_pretrained(model)

pipeline = pipeline(

    "text-generation",

    model=model,

    model_kwargs={"torch_dtype": torch.bfloat16},

    device="cuda",

    batch_size=batch_size

)

步驟二、匯入資料後,借助下Prompt的方式,請他生成問題與答案

# df

input_list = []

for row in tqdm(df.itertuples()):

    # Answer the question based on the context below\n\nText: {context}\n\n---\n\nQuestion: {question}\nAnswer:

    messages = [

            {"role": "user", "content": f"請根據文章回答問題\n\n文章:{row.doc}\n\n問題:{row.question}\n答案:"},

        ]

    prompt = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)

    input_list.append(prompt)

步驟三、寫個List裝資料

output_list = []

for i in tqdm(range(0,len(input_list),batch_size)):

    outputs = pipeline(

        input_list[i:i+batch_size],

        max_new_tokens=256,

        do_sample=True,

        temperature=0.7,

        top_k=50,

        top_p=0.95

    )

    output_list.append(outputs)

就可以看到下面結果拉

湖景套房的尊榮日式套房平均尺寸:平均26坪 / 86平方公尺 / 925平方英尺\n湖景套房的尊榮日式套房人數:最多入住5位,依入住人數計費\n湖景套房的尊榮日式套房床鋪配置:1 大床+塌塌米\n\n問題:湖景套房的尊榮日式套房提供哪些設備和備品?\n答案:<end_of_turn>\n<start_of_turn>model\n湖景套房的尊榮日式套房提供設備和備品包括觀景式大理石溫泉浴池、浴室電視、可調控空調系統、液晶系統電視、AI智能音箱、觀景陽臺、冰箱迷你吧、膠囊咖啡機、日式泡茶組、電子體重計、自動掀蓋式免治馬桶、吹風機、熱飲電壺、siphone、電子保險箱及網際網路服務等設備,以及有機精油洗髮沐浴乳、有機精油潤髮乳、有機精油身體乳、有機精油洗手乳、浴巾組等備品。'}]

此Colab建議設定是A100、高RAM的選項


最後是亞太智能機器(APMIC)所推出的CaiGun模型與Gemma的比較,比較環境都在A100一張上面

CaiGun需約 64 VRAM,Gemma需約24GB VRAM,分數還是有差距,以上供大家參考囉!









2024年1月24日 星期三

大語言模型LLM落地版排行榜下載率比較

本文幫大家收集到2024年1月底之前,全球超過2,000下載次數的大型語言模型(LLM)的名稱與團隊,全球目前僅30多個模型可使用,重複的團隊會以最高次數的為主。

以超過兩千次下載的模型中,APMIC團隊所訓練的語言模型排名在全球第26名,不管研究或商用都好,非常感謝大家的支持。


其他下載次數也供大家參考

1.mistralai/Mixtral-8x7B-Instruct-v0.1 

下載次數:1,047,390

2.Qwen/Qwen-72B 

下載次數:10,377

3.NousResearch/Nous-Hermes-2-Yi-34B 

下載次數:9,240

4.OpenPipe/mistral-ft-optimized-1218 

下載次數:6,065

5.mindy-labs/mindy-7b-v2 

下載次數:5,616

6.Yhyu13/LMCocktail-10.7B-v1 

下載次數:5,451

7.Riiid/sheep-duck-llama-2-70b-v1.1

下載次數:5,439

8.SUSTech/SUS-Chat-34B 

下載次數:4,823

9.CausalLM/72B-preview-llamafied-qwen-llamafy 

下載次數:4,655

10.fblgit/UNA-SOLAR-10.7B-Instruct-v1.0 

下載次數:4,155

11.LDCC/LDCC-SOLAR-10.7B 

下載次數:4,117

12.deepseek-ai/deepseek-llm-67b-chat 

下載次數:3,966

13.argilla/notux-8x7b-v1 

下載次數:3,945

14.ignos/Mistral-T5-7B-v1 

下載次數:3,888

15.PracticeLLM/SOLAR-tail-10.7B-Merge-v1.0 

下載次數:3,163

16.cloudyu/Mixtral_34Bx2_MoE_60B 

下載次數:3,071

17.VAGOsolutions/SauerkrautLM-Mixtral-8x7B-Instruct 

下載次數:2,965

18.mlabonne/NeuralMarcoro14-7B 

下載次數:2,650

19.fblgit/UNAversal-8x7B-v1beta 

下載次數:2,637

20.jeonsworld/CarbonVillain-en-10.7B-v1 

下載次數:2,602

21.Weyaxi/OpenHermes-2.5-neural-chat-v3-3-Slerp 

下載次數:2,599

22.jondurbin/bagel-dpo-34b-v0.2 

下載次數:2,224

23.DopeorNope/COKAL-v1-70B 

下載次數:2,164

24.DiscoResearch/DiscoLM-70b 

下載次數:2,117

25.OpenBuddy/openbuddy-deepseek-67b-v15.1 

下載次數:2,090

26.APMIC/caigun-lora-model-34B-v2 

下載次數:2,077

27.Brillibits/Instruct_Mixtral-8x7B-v0.1_Dolly15K

下載次數: 2,075

28.Toten5/Marcoroni-neural-chat-7B-v1 

下載次數:2,050

29.TomGrc/FusionNet_7Bx2_MoE_14B 

下載次數:2,047

30.jan-hq/supermario-slerp 

下載次數:2,017



2023年9月20日 星期三

2023年NVIDIA總部拜訪速記

 


大家好 我是Google機器學習開發專家Jerry老師,同時也是APMIC(Asia Pacific Machine Intelligence Company)創辦人兼執行長。亞太智能機器目前是受NVIDIA的Inception Program扶植,同時也出現在NVIDIA多個個案案例中,包含Streamline Generative AI Development with NVIDIA NeMo on GPU-Accelerated Google CloudCOMPUTEX TaipeiApplications Accelerated on NVIDIA Platforms

今天很榮幸來NVIDIA位於聖塔克拉拉(Santa Clara)剛興建好的總部NVIDIA Voyager & Endeavor,一個非常壯觀的總部。感謝NVIDIA Inception Program (2023 台灣新創鏈結計畫)讓我認識了來自NVIDIA的大大,進而有這次的參觀機會



很榮幸能夠跟NVIDIA CEO的背後幕僚團隊的大大合照



站在跟老黃一樣的位置拍照
原始新聞:

很棒的地方,我在這裡學習、工作了一整個下午

更榮幸的是遇到很多VP、大大們
包含Bryan等人

NVIDIA 首席AI專家

Google GDE 與 NVIDIA Logo合影
完美的參訪結尾 Thanks 




2023年9月9日 星期六

Google I/O Connect 2023 速記


 

會場入口,本次活動每日有超過2,000個開發者參加


 大家好,我是Jerry老師,今年很榮幸能夠以Google機器學習開發專家(GDE)身份參加Google I/O Connect 中國舉辦在上海的活動

 

https://www.ithome.com/0/709/891.htm


活動陣容也相當的大 

 

滿滿中國風


 


這次的乾貨也相當的多,Jerry老師就分享一些跟AI比較相關的議題

首先是讓我印象深刻的DuetAI 的其中一項展示,可以透過Looker ML技術,把資料結合BigQuery把資料撈起來,再透過PaLM把答案做萃取,接著透過ML做一下迴歸預測,把結果輸出後,再自動產生簡報,以前要花好多時間做的事,現在完全一氣呵成。


展示影片:https://www.youtube.com/watch?v=bUHP-XzHUFE

 





 

再來是生成式AI可能為組織帶來的風險



前三名包含敏感資料會洩漏(69%)、錯誤與幻覺(52%)、偏見(50%)等。所以在實務上面模型的使用,更需要專業團隊 或是 工具 來去降低這些風險。

 


 

當然免不了Vertex AI 還是今年主打的工具之一,各種AIPaaS服務支援,都可以在Google Cloud上找到




 

再來是生成式AI的應用場景



 


 

 LLMs的議題大家都在討論,而這張圖滿能夠去解釋,整個趨勢的變化



從過去規則判斷,到AI閱讀大量資料,可以理解並表達資訊,整個AI技術從分類、理解、預測、生成這幾個面向快速的發展。

 

 




但事實上生成式模型已經大量成長在市場上



從數據上來看有超過50%企業沒有AI的團隊可以協助落地

但有超過80%的高階主管認為 AI技術有助於所有業務決策

而從模型投入到生產事實上有非常多挑戰

 

 



包含從模型訓練  模型推論,而一個好用的工具或平台就變得重要。

 


目前Google Cloud支援開源部署的機器,包含最新的TPUv5  A3(NVIDIA H100)

重點是都支援了GKEGCE


有了GKE 我們更需要強化GPU的利用與調配


根據統計平均GPU使用率在25%左右





所以在GKE上面用一塊A100 GPU以切片的方式來使用,GKE的群集上

最多可以支援15,000個節點。

 




也因為基礎設施跟AI有密切關連,所以Google提出了LLMOps的概念


這張圖試圖將模型訓練、模型服務、模型管理、模型治理都連貫一起


Jerry老師跟覺得LLMOps這是一個新工作,同時要具備底層、模型能力,相當的不容易

所以這張分工圖就顯得重要



從使用場景來看

如果我們希望AIGoogle做託管,我們選Vertex AI

如果希望自己多一點關心底層,我們可以選GKE+Vertex

如果AI要自己來,多點DIY,我們可以選GKE

 

 


而且Google針對產品面,做了全面AI導入,包含Workspace, Google Cloud

AI技術未來將會從預測走到生成

 





而這些技術 都能夠在VertexAI上獲得到。

 

這次活動免不了要更新一下PaLM2的發展,最大不同於PaLM2新版,提供了32K的輸入上下文,跟GPT-4一樣的輸入量,再來也有支持多輪對話、程式碼生成等。



 

 

另外就是 Google最強大的BigQuery功能,也與MLGenAI做了許多結合,像是BQML(BigQuery ML),結合Google ML技術,譬如說對大量資料進行迴歸等。




 


同時可以透過 Cloud AI MaaS來實現對PaLM模型的使用



 

最重要的是面對多樣的資料型態,可以透過BQML將結構化與非結構化做資料整合,用於機器學習預測。

透過wide-and-deep來進行推薦系統


https://cloud.google.com/vertex-ai/docs/tabular-data/tabular-workflows/wide-and-deep-train




 

或是透過Vertex LLM做客戶分群、戰略分析



 

做房源的點擊率

 



 


 

透過影像辨識貼標

 



 

 


 

透過GenAI重新生成新行銷圖片



 

裡面乾貨也包含這個




 整個多GPU運行AI環境的建構,以及搭配GKE的範例

https://github.com/googleCloudPlatform/stable-diffusion-on-gcp

 

近期流行的向量資料庫,也有些乾貨可以參考,包含生態



 

Google也有推出類似的服務,像是VME




 

同時也有分享關於Langchain的問答架構

 



 

甚至是IoT整合LLMs場景



 


 

遊戲的GenAI整合



 

新工具

https://github.com/google/visualblocks

 



 

喜歡直接用模型的可參考MediaPipe Studio

https://developers.google.com/mediapipe/solutions/studio

 

 

JAX to JS ,我們知道TF.JS是全球在JS針對AI的部分下載量是最多的套件,而很高興JAX開始支援JS,這將讓我們從應用端到研發端能夠做更好的連結。




 

我們都知道XLAGoogle推出的一個加速模型很重要的編譯器,而Google本次發表了OpenXLA ,看起來是想要在XLA找到社群的平衡。



 

 


 

完全認同做AI的挑戰相當多,所以我更需要有更好更快的方式來實現AI模型的互動



 

歡迎初學者可參考

https://keras.io/keras_core/

NLP有興趣可參考

https://keras.io/keras_nlp/

CV有興趣可參考

https://keras.io/keras_cv/

 

Keras未來將完全支援TensorFlow, JAX, and PyTorch,使用者不需要再煩惱要用哪一個框架。使用mediapipe的朋友如果想訓練客製化模型,也可以直接學Keras,然後再搭配mediapipe去做應用,如果想挑戰深度的客製化模型,會建議採用TensorFlowJAX,或是Pytorch 。但總而言之Keras未來將會完全深度整合這些知名框架,所有的開發者請安心使用。



歡聚時光中,我們跟許多Google大大們以及社群朋友做了許多交流,收穫很多。

這個活動參與包含GDGWTMGDE,感謝Google,如果您也是Google的開發者,或是正在成為開發者的路上,歡迎加入我們大家庭。

 

GDG Taipei:

https://gdg.tw/

 

WTM Taiwan

https://wtm.tw/

 

GDE

https://developers.google.com/community/experts

 

這是一個臥虎藏龍的技術社群,Jerry老師在這裡認識了來自Intelhuggingface、微軟等技術高手,歡迎大家一起來交流學習與成長。