實操如何用Hugging Face部署大語言模型到亞馬遜雲科技Amazon SageMaker
本篇文章主要介紹如何使用新的Hugging Face LLM推理容器將開源LLMs,比如BLOOM大型語言模型部署到亞馬遜雲科技Amazon SageMaker進行推理的示例。我們將部署12B Open Assistant Model,這是一款由開放助手計劃訓練的開源Chat LLM。
這個示例包括:
-
設定開發環境
-
獲取全新Hugging Face LLM DLC
-
將開放助手12B部署到亞馬遜雲科技Amazon SageMaker
-
進行推理並與我們的模型聊天
-
清理環境
什麼是Hugging Face LLM Inference DLC?
Hugging Face LLM DLC是一款全新的專用推理容器,可在安全的託管環境中輕鬆部署LLM。DLC由文字生成推理(TGI)提供支援,這是一種用於部署和服務大型語言模型(LLM)的開源、專門構建的解決方案。TGI使用張量並行和動態批處理為受歡迎的開源LLM(包括StarCoder、BLOOM、GPT-Neox、Llama和T5)實現高效能文字生成。文字生成推理已被IBM、Grammarly等客戶使用,Open-Assistant計劃對所有支援的模型架構進行了最佳化,包括:
-
張量並行性和自定義cuda核心
-
在受歡迎的架構上使用flash-attention最佳化了用於推理的變形器程式碼
-
使用bitsandbytes進行量化
-
連續批處理傳入的請求以增加總吞吐量
-
使用safetensors加速重量載入(啟動時間)
-
Logits扭曲器(溫度縮放、topk、重複懲罰…)
-
用大型語言模型的水印新增水印
-
停止序列,記錄機率
-
使用伺服器傳送事件(SSE)進行Token流式傳輸
官方支援的模型架構目前為:
-
BLOOM/BLOOMZ
-
MT0-XXL
-
Galactica
-
SantaCoder
-
gpt-Neox 20B(joi、pythia、lotus、rosey、chip、redPajama、open Assistant)
-
FLAN-T5-XXL(T5-11B)
-
Llama(vicuna、alpaca、koala)
-
Starcoder/santaCoder
-
Falcon 7B/Falcon 40B
藉助亞馬遜雲科技Amazon SageMaker上推出的全新Hugging Face LLM Inference DLC,亞馬遜雲科技客戶可以從支援高度併發、低延遲LLM體驗的相同技術中受益,例如HuggingChat、OpenAssistant和Hugging Face Hub上的LLM模型推理API。
1.設定開發環境
使用SageMaker python SDK將OpenAssistant/pythia-12b-sft-v8-7k-steps部署到亞馬遜雲科技Amazon SageMaker。需要確保配置一個亞馬遜雲科技賬戶並安裝SageMaker python SDK。
如果打算在本地環境中使用SageMaker。需要訪問具有亞馬遜雲科技Amazon SageMaker所需許可權的IAM角色。可以在這裡找到更多關於它的資訊。
2.獲取全新Hugging Face LLM DLC
與部署常規的HuggingFace模型相比,首先需要檢索容器URI並將其提供給HuggingFaceModel模型類,並使用image_uri指向該映象。要在亞馬遜雲科技Amazon SageMaker中檢索新的HuggingFace LLM DLC,可以使用SageMaker SDK 提供的get_huggingface_llm_image_uri方法。此方法允許根據指定的 “後端”、“會話”、“區域” 和 “版本”檢索所需的Hugging Face LLM DLC 的 URI。
要將[Open Assistant Model](openAssistant/Pythia-12b-sft-v8-7K-steps)部署到亞馬遜雲科技Amazon SageMaker,建立一個HuggingFaceModel模型類並定義終端節點配置,包括hf_model_id、instance_type等。使用g5.4xlarge例項型別,它有1個NVIDIA A10G GPU和64GB的GPU記憶體。
亞馬遜雲科技Amazon SageMaker現在建立端點並將模型部署到該端點。這可能需要10-15分鐘。
4.進行推理並與模型聊天
部署終端節點後,可以對其進行推理。使用predictor中的predict方法在端點上進行推理。可以用不同的引數進行推斷來影響生成。引數可以設定在parameter中設定。
-
溫度:控制模型中的隨機性。較低的值將使模型更具確定性,而較高的值將使模型更隨機。預設值為0。
-
max_new_tokens:要生成的最大token數量。預設值為20,最大值為512。
-
repeption_penalty:控制重複的可能性,預設為null。
-
seed:用於隨機生成的種子,預設為null。
-
stop:用於停止生成的代幣列表。生成其中一個令牌後,生成將停止。
-
top_k:用於top-k篩選時保留的最高機率詞彙標記的數量。預設值為null,它禁用top-k過濾。
-
top_p:用於核取樣時保留的引數最高機率詞彙標記的累積機率,預設為null。
-
do_sample:是否使用取樣;否則使用貪婪的解碼。預設值為false。
-
best_of:生成best_of序列如果是最高標記logpros則返回序列,預設為null。
-
details:是否返回有關世代的詳細資訊。預設值為false。
-
return_full_text:是返回全文還是隻返回生成的部分。預設值為false。
-
truncate:是否將輸入截斷到模型的最大長度。預設值為true。
-
typical_p:代幣的典型機率。預設值null。
-
水印:生成時使用的水印。預設值為false。
可以在swagger文件中找到TGI的開放api規範。
openAssistant/Pythia-12b-sft-v8-7K-steps是一種對話式聊天模型,這意味著我們可以使用以下提示與它聊天:
先試一試,問一下夏天可以做的一些很酷的想法:
現在,使用不同的引數進行推理,以影響生成。引數可以透過輸入的parameters屬性定義。這可以用來讓模型在“機器人”回合後停止生成。
現在構建一個快速gradio應用程式來和它聊天。
程式執行成功後,顯示如下聊天視窗:
現在已經成功地將Open Assistant模型部署到亞馬遜雲科技Amazon SageMaker並對其進行了推理。此外,還構建了一個快速的gradio應用程式,可以與模型聊天。
現在,可以使用亞馬遜雲科技Amazon SageMaker上全新Hugging Face LLM DLC構建世代人工智慧應用程式的時候了。
5.清理環境
刪除模型和端點。
6.總結
從上面的部署過程,可以看到整個部署大語言模型的過程非常簡單,這個主要得益於SageMaker Hugging Face LLM DLC的支援,還可以透過將Amazon SageMaker部署的端點與應用整合,滿足實際的業務需求。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69984952/viewspace-2992362/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 亞馬遜雲科技推出六項Amazon SageMaker新功能亞馬遜
- 亞馬遜雲科技推出八項Amazon SageMaker全新功能亞馬遜
- 亞馬遜雲科技推出五項Amazon SageMaker新功能,助力規模化開發應用模型亞馬遜模型
- 亞馬遜雲科技攜手Hugging Face 讓生成式AI觸手可及亞馬遜Hugging FaceAI
- 亞馬遜雲科技釋出Amazon Amplify Studio亞馬遜
- 使用 LoRA 和 Hugging Face 高效訓練大語言模型Hugging Face模型
- 亞馬遜雲科技宣佈推出Amazon IoT TwinMaker亞馬遜
- 亞馬遜雲科技宣佈推出Amazon IoT FleetWise亞馬遜
- 亞馬遜雲科技宣佈推出Amazon Mainframe Modernization亞馬遜AI
- 亞馬遜雲科技宣佈Amazon Cloud WAN正式可用亞馬遜Cloud
- 亞馬遜雲科技宣佈Amazon Mainframe Modernization正式可用亞馬遜AI
- 亞馬遜雲科技推出Amazon Connect三項新功能亞馬遜
- 亞馬遜雲科技宣佈Amazon Lookout for Vision正式可用亞馬遜
- 使用亞馬遜雲科技Amazon SNS&SQS實現Amazon CloudWatch持續報警亞馬遜Cloud
- 亞馬遜雲科技推出安全資料湖Amazon Security Lake亞馬遜
- 亞馬遜雲科技宣佈推出Amazon Private 5G亞馬遜
- 大模型進入「實用」時代,亞馬遜雲科技已是Next Level大模型亞馬遜
- 亞馬遜雲服務(AWS)機器學習服務Amazon SageMaker發力中國亞馬遜機器學習
- 亞馬遜雲科技推出Amazon SimSpace Weaver助力大規模空間模擬亞馬遜
- 亞馬遜雲科技宣佈:Claude 3 Opus基礎模型在Amazon Bedrock上正式可用亞馬遜模型
- 中科創達攜手亞馬遜雲服務(AWS) 加速智慧工業AI部署 ADC系統全面整合Amazon SageMaker亞馬遜AI
- C++語言亞馬遜獲取AMAZON商品詳情 API介面C++亞馬遜API
- 亞馬遜雲科技釋出全新資料管理服務Amazon DataZone亞馬遜
- 亞馬遜雲科技宣佈Amazon Aurora Serverless v2正式可用亞馬遜Server
- 亞馬遜雲科技中國區域推出DevOps服務Amazon CodePipeline亞馬遜dev
- IBM與亞馬遜雲科技攜手,Amazon RDS for DB2 正式亮相!IBM亞馬遜DB2
- 亞馬遜雲科技宣佈推出Amazon Q重塑未來工作方式亞馬遜
- 亞馬遜雲科技:對Amazon Aurora進行資料庫變更管理亞馬遜資料庫
- 亞馬遜雲科技推出Amazon GuardDuty 惡意軟體檢測新功能亞馬遜
- 亞馬遜雲科技推出Amazon EBS io2 Block Express儲存卷亞馬遜BloCExpress
- 亞馬遜雲科技資料視覺化服務Amazon Managed Grafana正式可用亞馬遜視覺化Grafana
- Babelfish for Amazon Aurora PostgreSQL現已在亞馬遜雲科技中國區域正式可用BabelSQL亞馬遜
- 亞馬遜雲科技宣佈為Amazon EFS提供低成本儲存級別亞馬遜
- 亞馬遜雲科技語音識別服務Amazon Transcribe在中國區域上線實時流式轉錄亞馬遜
- 亞馬遜雲科技創新大會 | 雲基礎架構亞馬遜架構
- 亞馬遜雲科技展示Claude 3大模型能力,生成式AI落地正在加速亞馬遜大模型AI
- Amazon Lightsail——兼具亞馬遜雲科技的強大功能與 VPS 的簡易性AI亞馬遜
- 亞馬遜雲科技李君:有容乃大-Amazon DynamoDB助力現代化應用程式亞馬遜