Gemma 3:采用Docker Model Runner釋放GenAI的潛力 原創(chuàng)
使用Docker Model Runner在本地運(yùn)行Gemma 3,開發(fā)人員能夠?qū)崿F(xiàn)私有且高效的GenAI開發(fā)——快速設(shè)置、離線推理和完全控制。
如今,對(duì)本地化開發(fā)生成式人工智能(GenAI)的需求正在快速增長。開發(fā)人員在自己的基礎(chǔ)設(shè)施上運(yùn)行大型語言模型(LLM)能夠確保隱私性、靈活性和成本效益。隨著Gemma 3的發(fā)布及其與Docker Model Runner的無縫集成,開發(fā)人員可以完全在本地服務(wù)器上實(shí)驗(yàn)、微調(diào)和部署GenAI模型。
本文將探討如何使用Docker在本地設(shè)置和運(yùn)行Gemma 3,在不依賴基于云的推理服務(wù)的情況下釋放簡化的GenAI開發(fā)工作流程。
什么是Gemma 3?
Gemma 3是谷歌公司為負(fù)責(zé)任的人工智能開發(fā)而設(shè)計(jì)的輕量級(jí)、最先進(jìn)的語言模型開源系列的一部分。它在性能與效率之間取得了平衡,使其適用于研究和生產(chǎn)應(yīng)用。由于權(quán)重和架構(gòu)針對(duì)微調(diào)和部署進(jìn)行了優(yōu)化,它是開發(fā)人員構(gòu)建定制LLM解決方案的首選。
為什么選擇 Docker Model Runner?
??Docker Model Runner??作為模型的包裝器,以創(chuàng)建受控環(huán)境,并具有以下優(yōu)勢(shì):?
?簡化不同操作系統(tǒng)和硬件之間的設(shè)置。
?提供可重復(fù)的結(jié)果。
?如果可用,啟用GPU加速。
?支持本地推理,消除對(duì)外部API的依賴。
為什么本地生成人工智能是智能企業(yè)的未來?
隨著企業(yè)探索生成式人工智能(GenAI)的變革能力,向本地化開發(fā)的轉(zhuǎn)變正在加速。在本地或邊緣運(yùn)行GenAI模型,可以為各行業(yè)帶來一系列戰(zhàn)略優(yōu)勢(shì)。以下是本地GenAI開發(fā)正在成為現(xiàn)代企業(yè)的重要考慮因素的原因:
1.成本效益和可擴(kuò)展性
本地部署消除了通常與基于云的AI服務(wù)相關(guān)的每個(gè)令牌或每個(gè)請(qǐng)求的費(fèi)用。這允許開發(fā)人員、數(shù)據(jù)科學(xué)家和研究人員進(jìn)行實(shí)驗(yàn)、微調(diào)和縮放模型,而不會(huì)產(chǎn)生不可預(yù)測(cè)的運(yùn)營成本。
用例:例如,一個(gè)運(yùn)行大規(guī)模模擬或微調(diào)開源LLM的研究實(shí)驗(yàn)室可以在沒有云計(jì)費(fèi)限制的情況下完成這些工作,從而加快創(chuàng)新。?
2.增強(qiáng)的數(shù)據(jù)隱私和合規(guī)性
使用本地GenAI,所有數(shù)據(jù)都保留在受控環(huán)境中,確保符合GDPR、HIPAA和CCPA等嚴(yán)格的數(shù)據(jù)保護(hù)法規(guī)。這在處理個(gè)人身份信息(PII)、專有內(nèi)容或受監(jiān)管數(shù)據(jù)集時(shí)尤為重要。
用例:例如,一家醫(yī)療保健提供商可以使用本地GenAI生成臨床摘要或輔助診斷,而無需將患者數(shù)據(jù)暴露給第三方API。
3.減少延遲和離線可訪問性
本地執(zhí)行消除了對(duì)外部API的依賴,最大限度地減少了延遲,即使在低連接或氣隙環(huán)境中也能實(shí)現(xiàn)實(shí)時(shí)交互。
用例:自動(dòng)駕駛汽車或工業(yè)物聯(lián)網(wǎng)設(shè)備可以利用本地GenAI進(jìn)行實(shí)時(shí)決策和異常檢測(cè),而無需持續(xù)的互聯(lián)網(wǎng)接入。?
4.完全控制、透明度和定制化
在本地運(yùn)行模型使開發(fā)團(tuán)隊(duì)在模型行為、定制化和生命周期管理方面具有完全的自主權(quán)。這使組織能夠檢查模型輸出、應(yīng)用治理,并根據(jù)特定的業(yè)務(wù)需求定制推理管道。
用例:例如一家金融機(jī)構(gòu)可以對(duì)GenAI模型進(jìn)行微調(diào),以符合其內(nèi)部合規(guī)性策略,同時(shí)保持對(duì)推理邏輯的完全可審計(jì)性和控制。
5.更強(qiáng)的彈性和可用性
使用本地GenAI,企業(yè)不會(huì)受到第三方服務(wù)的停機(jī)時(shí)間或速率限制問題的影響。這種彈性對(duì)于任務(wù)關(guān)鍵型工作負(fù)載至關(guān)重要。
用例:防御系統(tǒng)或?yàn)?zāi)難響應(yīng)單位可以部署基于GenAI的通信工具或翻譯工具,這些工具可以在孤立的高風(fēng)險(xiǎn)環(huán)境中可靠地工作。
來自Docker @ai/gemma3的可用模型變體
模型變量? | 參數(shù)? | 量化? | 上下文窗口? | 內(nèi)存? | 大小? |
ai/gemma3:1B-F16 | 1B | F16 | 32K tokens | 1.5GB1 | 0.75GB |
ai/gemma3:1B-Q4_K_M | 1B | IQ2_XXS/Q4_K_M | 32K tokens | 0.892GB1 | 1.87GB |
ai/gemma3:4B-F16 | 4B | F16 | 128K tokens | 6.4GB1 | 7.7GB |
ai/gemma3:latest | 4B | IQ2_XXS/Q4_K_M | 128K tokens | 3.4GB1 | 2.5GB |
Gemma 3 4B模型提供了多種功能,使其成為跨行業(yè)各種應(yīng)用的理想解決方案。以下是它的一些關(guān)鍵用例及其詳細(xì)解釋:
1.文本生成
Gemma 3 4B模型擅長生成從創(chuàng)意到技術(shù)寫作的各種形式的書面內(nèi)容。它可以:
?詩歌和劇本:創(chuàng)作原創(chuàng)作品,包括詩歌、對(duì)話和劇本。
?代碼生成:通過編寫代碼片段或整個(gè)功能來協(xié)助開發(fā)人員,簡化軟件開發(fā)。
?營銷文案:制作引人注目的營銷內(nèi)容,例如廣告、社交媒體帖子和產(chǎn)品描述。
?電子郵件草稿:自動(dòng)化撰寫電子郵件以用于商務(wù)溝通,節(jié)省時(shí)間并確保采用專業(yè)語氣。
這一功能對(duì)于尋求提高生產(chǎn)力的內(nèi)容創(chuàng)建者、營銷人員和開發(fā)人員尤其有價(jià)值。
2.聊天機(jī)器人和對(duì)話式人工智能
Gemma 3 4B模型可以為虛擬助理和客戶服務(wù)機(jī)器人提供動(dòng)力,提供自然且響應(yīng)迅速的對(duì)話體驗(yàn)。其自然語言理解(NLU)允許:
?虛擬助手:啟用智能助手,可以幫助用戶完成各種任務(wù),例如日程安排、提醒和回答查詢。
?客戶服務(wù)機(jī)器人:處理客戶查詢、排除故障并提供個(gè)性化響應(yīng),減少人工干預(yù)的需要,提高服務(wù)效率。
這使得它成為旨在提供增強(qiáng)客戶支持和參與的企業(yè)的重要工具。
3.文本摘要
Gemma 3 4B模型能夠?qū)⒋罅课谋荆ㄈ鐖?bào)告、研究論文和文章)總結(jié)成簡潔易懂的版本。它可以:
?提取要點(diǎn)和主題,同時(shí)保留基本信息。
?通過為忙碌的專業(yè)人士提供摘要來提高可訪問性,使他們能夠快速掌握關(guān)鍵見解。
這個(gè)功能在學(xué)術(shù)、研究、法律和商業(yè)等行業(yè)中很有價(jià)值,在這些行業(yè)中,總結(jié)復(fù)雜的文檔對(duì)于效率和決策至關(guān)重要。
4.圖像數(shù)據(jù)提取
Gemma 3 4B模型的功能擴(kuò)展到解釋可視化數(shù)據(jù)并將其轉(zhuǎn)換為有意義的文本。這個(gè)過程包括:
?視覺解釋:分析圖像、圖表或示意圖,以文本形式提取和描述其內(nèi)容。
?摘要:提供可視化數(shù)據(jù)的上下文描述或解釋,使其可用于基于文本的交流或進(jìn)一步分析。
這在醫(yī)療保?。ɡ纾忉屷t(yī)學(xué)圖像)、制造業(yè)(例如,分析產(chǎn)品缺陷)和法律行業(yè)(例如,總結(jié)視覺證據(jù))等領(lǐng)域特別有用。
5.語言學(xué)習(xí)工具
Gemma 3 4B模型可以通過以下方式幫助學(xué)習(xí)者和教育者提高語言技能:
?語法糾正:自動(dòng)檢測(cè)和糾正書面文本中的語法錯(cuò)誤。
?互動(dòng)式寫作練習(xí):讓學(xué)習(xí)者參與到寫作練習(xí)中,通過該模型進(jìn)行糾正和提高,培養(yǎng)更好的寫作習(xí)慣和技能。
這個(gè)應(yīng)用程序?qū)φZ言學(xué)習(xí)者、教育工作者和任何尋求提高寫作水平的人都很有價(jià)值。
6.知識(shí)探索
對(duì)于研究人員和知識(shí)工作者來說,Gemma 3 4B模型可以通過以下方式充當(dāng)智能助手:
?總結(jié)研究:將復(fù)雜的學(xué)術(shù)論文、文章或報(bào)告濃縮為易于理解的摘要。
?回答問題:為特定的研究查詢提供詳細(xì)、準(zhǔn)確的答案,提高知識(shí)探索的效率。
這種能力對(duì)學(xué)術(shù)研究人員、技術(shù)領(lǐng)域的專業(yè)人員以及從事持續(xù)學(xué)習(xí)和知識(shí)發(fā)展的任何人都特別有益。
分步指南:使用Docker Model Runner運(yùn)行Gemma 3
Docker Model Runner提供了與OpenAI兼容的API接口,實(shí)現(xiàn)了AI模型的無縫本地執(zhí)行。從其??版本4.40.0??開始,它已經(jīng)原生集成到macOS的Docker Desktop中,允許開發(fā)人員在本地運(yùn)行模型并與之交互,而無需依賴外部API。?
1.安裝 Docker Desktop
確保在系統(tǒng)上安裝并運(yùn)行Docker。可以從??此處??獲取。?
2.拉取Model Runner鏡像
1 docker pull gcr.io/deeplearning-platform-release/model-runner
2 docker desktop enable model-runner --tcp 12434
3
通過Docker Desktop啟用DockerDocker Model Runner:
(1)在設(shè)置中導(dǎo)航到“開發(fā)中的功能”選項(xiàng)卡。
(2)在“實(shí)驗(yàn)性功能”選項(xiàng)卡下,選擇“訪問實(shí)驗(yàn)性功能 ”。
(3)選擇“應(yīng)用并重啟”。
(4)退出并重新打開Docker Desktop以確保更改生效。
(5)在Docker Desktop中打開“設(shè)置”視圖。
(6)導(dǎo)航到“開發(fā)中的功能”選項(xiàng)卡。
(7)在“測(cè)試”選項(xiàng)卡中,選擇啟用Docker Model Runner設(shè)置。
3.如何運(yùn)行這個(gè)AI模型
可以使用以下的docker命令從Docker Hub 提取模型。
1 docker model status
2 docker model pull ai/gemma3
要運(yùn)行模型,請(qǐng)執(zhí)行以下操作:
1 docker model pull ai/gemma3
輸出:
1 Downloaded: 2.5 GB
2 Model ai/gemma3 pulled successfully
在設(shè)置完成之后,Docker Model Runner會(huì)提供一個(gè)可在 http://localhost:12434/engines/v1 訪問的、與 OpenAI兼容的 API。
將使用??評(píng)論處理系統(tǒng)???(這是一個(gè)Node.js應(yīng)用程序)展示如何利用 Gemma 3 處理用戶針對(duì)一款名為“Jarvis”(由 Docker Captains 開發(fā))的虛構(gòu)人工智能助手所發(fā)表的評(píng)論。
生成上下文響應(yīng)
Gemma 3被用來對(duì)用戶評(píng)論做出禮貌和品牌支持的回應(yīng)。以下提示邏輯用于確保一致性和語氣:
1 import openai
2
3 # Configure the OpenAI client
4 openai.api_key = 'your-api-key'
5
6 # Define the comment and context (you can replace these with your actual variables)
7 comment_text = "This is a sample comment."
8 comment_category = "positive" # or 'negative', 'neutral', etc.
9 features_context = "Feature context goes here."
10
11 # Create the API call
12 response = openai.ChatCompletion.create(
13 model=config['openai']['model'],
14 messages=[
15 {
16 "role": "system",
17 "content": """You are a customer support representative for an AI assistant called Jarvis. Your task is to generate polite, helpful responses to user comments.
18
19 Guidelines:
20 1. Show empathy and acknowledge the user's feedback.
21 2. Thank the user for their input.
22 3. Express appreciation for positive comments.
23 4. Apologize and assure improvements for negative comments.
24 5. Acknowledge neutral comments with a respectful tone.
25 6. Mention that feedback will be considered for future updates when applicable.
26 7. Keep responses concise (2-4 sentences) and professional.
27 8. Avoid making specific promises about feature timelines or implementation.
28 9. Sign responses as "Anjan Kumar(Docker Captain)"."""
29 },
30 {
31 "role": "user",
32 "content": f'User comment: "{comment_text}"\n'
33 f'Comment category: {comment_category or "unknown"}\n\n'
34 f'{features_context}\n\n'
35 'Generate a polite and helpful response to this user comment.'
36 }
37 ],
38 temperature=0.7,
39 max_tokens=200
40 )
41
42 # Extract and print the response
43 print(response['choices'][0]['message']['content'])
44
對(duì)于正面評(píng)論:
1 Thank you for your kind words about my Blog! We're thrilled to hear that you find it user-friendly and helpful for learning purpose – this aligns perfectly with my goals. Your suggestion for more visual customization options is greatly appreciated, and I'll certainly take it into account as I work on future improvements to future Blogs.
2
3 Anjan Kumar(Docker Captain)
對(duì)于負(fù)面評(píng)論:
1 Thank you for your feedback, – I truly appreciate you taking the time to share your experience with me Anjan Kumar(Docker Captain). I sincerely apologize for the glitches and freezes you’ve encountered; I understand how frustrating that can be. Your input is extremely valuable, and I’m actively working on enhancing my blogs to improve overall reliability and user experience.
2
3 Anjan Kumar(Docker Captain)
結(jié)論
通過將Gemma 3的功能與Docker Model Runner相結(jié)合,構(gòu)建了一個(gè)強(qiáng)調(diào)性能、隱私和開發(fā)者自由的簡化本地生成式人工智能工作流程。這一設(shè)置使開發(fā)人員能夠高效地構(gòu)建和完善評(píng)論處理系統(tǒng),并在這一個(gè)過程中揭示了幾個(gè)戰(zhàn)略優(yōu)勢(shì):
?增強(qiáng)數(shù)據(jù)安全性:所有處理都在本地進(jìn)行,確保敏感信息對(duì)外泄露。
?可預(yù)測(cè)的性能:消除對(duì)外部API正常運(yùn)行時(shí)間或互聯(lián)網(wǎng)可靠性的依賴。
?可定制的運(yùn)行時(shí)環(huán)境:根據(jù)基礎(chǔ)設(shè)施、工具和偏好定制部署。
?無供應(yīng)商鎖定:完全擁有模型和數(shù)據(jù),不受專有平臺(tái)的限制。
?跨團(tuán)隊(duì)可擴(kuò)展:跨環(huán)境輕松復(fù)制,實(shí)現(xiàn)一致的測(cè)試和協(xié)作。
而這僅僅是開始。隨著下一代人工智能模型變得更加強(qiáng)大、高效和輕量級(jí),在本地部署它們的能力將帶來前所未有的機(jī)遇。無論是構(gòu)建企業(yè)級(jí)人工智能應(yīng)用程序,設(shè)計(jì)具有嚴(yán)格隱私要求的解決方案,還是探索前沿的自然語言處理(NLP)技術(shù),在自己的基礎(chǔ)設(shè)施上運(yùn)行模型都可以確保完全控制、適應(yīng)性和創(chuàng)新。
隨著開源基礎(chǔ)模型和以開發(fā)人員為中心的工具的快速發(fā)展,人工智能的未來正朝著“邊緣化”方向邁進(jìn)——各種規(guī)模的團(tuán)隊(duì)都能夠在不依賴集中云服務(wù)的情況下構(gòu)建、迭代和擴(kuò)展強(qiáng)大的人工智能系統(tǒng)。本地化部署人工智能不僅僅為了獲得便利,并且正在逐漸成為智能應(yīng)用領(lǐng)域的一項(xiàng)重要戰(zhàn)略優(yōu)勢(shì)。
原文標(biāo)題:??Gemma 3: Unlocking GenAI Potential Using Docker Model Runner??,作者:Anjan Kumar Ayyadapu
