人工智能處理器和軟件將個人計算的強大功能帶到人工智能PC上,將工作、協作和創新的效率提升到一個全新的水平。生成式AI應用程序(如AI聊天機器人)由于高處理要求而存在于云中。在這篇博客中,我們將探索Ryzen ? AI技術的構建模塊,并展示利用它來構建一個僅在Ryzen AI筆記本電腦上以最佳性能運行的AI聊天機器人是多么容易。
全棧Ryzen? AI軟件
Ryzen AI配備了一個專用的神經處理單元(NPU),用于與CPU內核集成在片上的AI加速。AMD Ryzen AI軟件開發工具包(SDK)使開發人員能夠采用在PyTorch或TensorFlow中訓練的機器學習模型,并在由Ryzen AI支持的PC上運行它們,可以智能地優化任務和工作負載,釋放CPU和GPU資源,并以更低的功耗確保最佳性能。了解更多關于Ryzen AI產品的信息。
SDK包括用于在NPU上優化和部署AI推理的工具和運行時庫。安裝很簡單,該套件配備了各種預量化的準備部署模型的擁抱臉AMD模型動物園。開發人員可以在幾分鐘內開始構建他們的應用程序,在Ryzen AI PC上釋放AI加速的全部潛力。
構建AI Chatbot
人工智能聊天機器人需要大量的處理能力,以至于它們通常生活在云中。nbsp;實際上,我們可以在PC上運行ChatGPT,但是本地應用程序通過Internet將提示發送到服務器進行LLM模型處理,并在收到響應后簡單地顯示響應。
然而,在這種情況下,本地和高效的AI聊天機器人不需要云支持。您可以從Hugging Face下載一個開源的預訓練OPT1.3B模型,并通過一個簡單的三步過程將其部署在Ryzen AI筆記本電腦上,并使用預構建的Gradio Chatbot應用程序。
步驟1:從Hugging Face下載預訓練的opt-1.3b模型
步驟2:量化從FP32到INT 8的下載模型
步驟3:使用模型部署Chatbot應用程序
先決條件
首先,您需要確保滿足以下先決條件。
AMD銳龍AI筆記本電腦與Windows?(R) 11個操作系統
Anaconda,如果需要,請從 這里
最新的Ryzen AI AIE驅動程序和軟件。遵循簡單的單擊安裝 這里
本博客的輔助材料發布在AMD GitHub存儲庫中。
接下來,克隆存儲庫或下載并解壓縮Chatbot-with-RyzenAI-1.0.zip到安裝Ryzen AI SW的根目錄中。在本例中,它是C:UserahoqRyzenAI
cd C:UsersahoqRyzenAI
git clone alimulh/Chatbot-with-RyzenAI-1.0
#激活安裝RyzenAI時創建的conda環境。在我的情況下,它是ryzenai-1.0-20231204-120522
Conda activate Ryzenai-1.0-20231204-120522
#使用requirements.txt文件安裝gradio pkage。聊天機器人的瀏覽器應用程序是用Gradio創建的
pip安裝-r要求. txt
#初始化路徑
setup.bat
現在,您可以通過3個步驟創建聊天機器人:
Step-1從Hugging Face下載預訓練模型
在此步驟中,從Hugging Face下載預訓練的Opt-1.3b模型。您可以修改run.py腳本,從您自己或您公司的存儲庫下載預訓練模型。Opt-1.3b是一個大的,~4GB的模型。下載時間取決于網速。在這種情況下,它花了~6分鐘。
cd Chatbot-with-RyzenAI-1.0
python run.py--model_name opt-1.3b --下載
下載的模型保存在文件夾opt-1.3b_pretrained_fp32中,如下所示。
步驟2量化下載的模型從FP32到Int8
下載完成后,我們使用以下命令對模型進行重新配置:
python run.py--model_name opt-1.3b-python
量化是一個兩步的過程。首先,FP32模型是“平滑量化”的,以減少量化過程中的精度損失。它本質上是識別激活系數中的異常值并相應地調節權重。因此,在量化期間,如果離群值被丟棄,則誤差引入是可忽略的。Smooth Quant是由AMD的先驅研究人員之一Song Han博士發明的,他是麻省理工學院EECS系的教授。下面是平滑量化技術如何工作的可視化演示。
你可以在這里了解更多關于平滑量化(smoothquant)技術的信息。在平滑建模過程之后,條件模型沿著與mart.json文件一起保存在opt-1.3b_smoothquant文件夾的“model_onnx”文件夾中。以下是平滑量化對數的屏幕截圖:
平滑量化需要約30秒才能完成。一旦完成,最佳量化器用于將模型轉換為int 8。int 8量化模型然后保存在“opt-1.3b_smoothquant "文件夾內的”model_onnx_int8“文件夾中。量化是一個離線過程。大約需要2-3分鐘完成,需要一次完成。下面是Int 8量化日志的屏幕截圖:
Step-3評估模型并使用聊天機器人應用程序部署它
接下來,評估量化模型并使用以下命令以NPU為目標運行它。注意,模型路徑被設置為我們在上一步中保存int8量化模型的位置,
python run.py --model_name opt-1.3b --target aie --local_path。 opt-1.3b_smoothquantmodel_onnx_int8
在第一次運行期間,模型由內聯編譯器自動編譯。編譯也是一個兩步的過程:首先,編譯器識別可以在NPU中執行的層和需要在CPU中執行的層。然后創建子圖集。一組用于NPU,另一組用于CPU。最后,它為每個子圖創建針對相應執行單元的指令集。這些指令由兩個ONNX執行提供程序(EP)執行,一個用于CPU,一個用于NPU。在第一次編譯之后,已編譯的模型保存在該高速緩存中,因此在后續部署中它避免了編譯。下面是一個屏幕截圖,其中模型信息是在編譯流程中打印出來的。
編譯后,模型在NPU和CPU上運行。將應用測試提示。LLM Opt1.3B模型的響應顯示了正確的答案。請記住,我們下載并部署了一個公開的預訓練模型。因此,它的準確性是主觀的,可能并不總是像預期的那樣。我們強烈建議在生產部署之前對公開可用的模型進行微調。下面是測試提示和響應的屏幕截圖:
現在,讓我們使用保存在路徑opt-1. 3b-smoothquantmodel_onnx_int 8中的int 8量化模型啟動聊天機器人
python gradio_appopt_demo_gui. py——model_file. opt—1.3b_smoothquantmodel_onnx_int8
如命令提示符所示,聊天機器人應用程序在端口1234上的本地主機上運行。
打開瀏覽器并瀏覽到http://localhost:1234。
在瀏覽器應用程序上,設置max_output_token=64并輸入提示“AMD做什么?“輸入文本框中。聊天機器人輸出如下所示的響應。它還將KPI(關鍵性能指標)計算為token/sec。在這種情況下,它是每秒約4.7個令牌。
?
恭喜你,你已經成功構建了一個私人AI聊天機器人。它完全運行在筆記本電腦上,OPT1.3B是一種LLM(大型語言模型)。
結論
AMD銳龍? AI全棧工具使用戶能夠在AI PC上輕松創建以前無法實現的體驗-開發人員使用AI應用程序,創作者使用創新和引人入勝的內容,企業主使用工具優化工作流程和效率。
我們很高興能將這項技術帶給我們的客戶和合作伙伴。如果您有任何問題或需要澄清,我們很樂意聽取您的意見。查看我們的GitHub存儲庫以獲取教程和示例設計,加入我們的討論論壇,或發送電子郵件至amd_ai_mkt@amd.com。
審核編輯 黃宇
-
處理器
+關注
關注
68文章
19395瀏覽量
230673 -
機器人
+關注
關注
211文章
28607瀏覽量
207884 -
AI
+關注
關注
87文章
31399瀏覽量
269808 -
ryzen
+關注
關注
1文章
81瀏覽量
17013
發布評論請先 登錄
相關推薦
評論