omniture

源2.0適配FastChat框架,企業(yè)快速本地化部署大模型對話平臺

2024-02-28 15:36 3601

北京2024年2月28日 /美通社/ -- 近日,浪潮信息Yuan2.0大模型與FastChat框架完成全面適配,推出"企業(yè)快速本地化部署大模型對話平臺"方案。該方案主要面向金融、法律、教育等領域,且有數據隱私保護需求的本地化部署場景。全面開放的對話模板功能,用戶可基于FastChat平臺,快速對不同參數規(guī)模的Yuan2.0基礎模型進行訓練、評估和應用,將Yuan2.0系列基礎大模型部署于私有環(huán)境,快速部署企業(yè)級大模型應用。值得一提的是,FastChat提供標準API格式(OpenAI標準)的服務,因此,原本采用OpenAI API接口所構建的系列應用,用戶無需修改代碼,僅需更新API服務的接口地址,即可靈活、絲滑地切換為本地部署的Yuan2.0千億參數模型


當前,各類模型迭代更新飛快。簡單且易用的對話模型框架成為了開發(fā)者解決本地化構建對話系統的一大利器。標準一致的工具和環(huán)境,可有效實現后端模型的平滑遷移,開發(fā)者能夠在不改變原有代碼的情況下,輕松適應新的模型和技術要求。基于現成的框架和工具,依托繁榮的社區(qū),進而有效地解決了技術門檻高、開發(fā)流程復雜、知識共享困難、部署維護成本高以及數據安全等一系列難題,不僅可提高開發(fā)效率,也可為開發(fā)者帶來了更多的便利和可能性。

FastChat是加州大學伯克利分校LM-SYS發(fā)布的創(chuàng)新型開源項目,Github Star數超31k。旨在為研究和開發(fā)人員提供一個易于使用、可擴展的平臺,用于訓練、服務和評估基于LLM的聊天機器人,大幅降低開發(fā)人員構建問答系統的門檻,實現知識管理平臺的輕松部署與高效維護。其核心功能包括提供最先進的模型權重、訓練代碼和評估代碼(例如Yuan2.0、Vicuna、FastChat-T5)以及帶有Web UI和兼容OpenAI RESTful API的分布式多模型服務系統。Yuan2.0系列基礎大模型作為首個全面開源的千億參數模型,在編程、推理、邏輯等方面表現優(yōu)異。通過Fastchat平臺,企業(yè)級用戶可一鍵啟動標準API(OpenAI標準)服務,滿足企業(yè)需求的定制化應用開發(fā),輕松對接口進行封裝,高效且安全地開發(fā)智能對話系統。在保證數據私密性和安全性的同時,極大地提升了模型本地化部署的效率、應用性能及穩(wěn)定性。

基于FastChat使用Yuan2.0大模型,Step by Step實操教程!

* 如下步驟以Yuan2-2B-Janus-hf模型為例:

  • Step 1: 安裝FastChat

FastChat官方提供的兩種安裝方式--pip安裝與源碼安裝

    • pip安裝

官方提供的采用pip安裝命令為pip3,建議大家采用python3.x,避免出現依賴包沖突。

pip3 install "fschat[model_worker,webui]"

    • 源碼安裝

先從github上下載源碼,在FastChat目錄下執(zhí)行如下命令:

git clone https://github.com/lm-sys/FastChat.git
cd FastChat
pip3 install --upgrade pip && pip3 install -e ".[model_worker,webui]"

  • Step 2 : 下載Yuan2.0系列基礎大模型

模型

序列長度

下載鏈接

Yuan2.0-102B-hf

4K

https://www.modelscope.cn/models/YuanLLM/Yuan2.0-102B-hf/summary

Yuan2.0-51B-hf

4K

https://www.modelscope.cn/models/YuanLLM/Yuan2.0-51B-hf/summary

Yuan2.0-2B-hf

8K

https://www.modelscope.cn/models/YuanLLM/Yuan2.0-2B-hf/summary

Yuan2-2B-Janus-hf

8K

https://www.modelscope.cn/models/YuanLLM/Yuan2-2B-Janus-hf/summary

  • Step 3:啟動FastChat推理服務

采用如下命令啟動FastChat服務:

python3 -m fastchat.serve.cli --model-path /mnt/models/Yuan2-2B-Janus-hf

至此,基于Yuan2.0基礎大模型的FastChat推理服務就已啟動完成了!服務啟動后會進入客戶端頁面??蛻舳私换嵗缦拢?/p>

——————————————————

user: 你好。
assistant: 您好,有什么可以幫助您的嗎?
user: 介紹一下北京。
assistant: 北京是中國的首都,位于華北平原中部。它是一個歷史悠久、文化燦爛的城市,也是現代化與傳統文化相結合的代表之一。北京擁有著豐富的歷史遺產和文化景觀,如紫禁城、天安門廣場、頤和園、長城等。此外,北京還有許多現代建筑和創(chuàng)意藝術作品,如798藝術區(qū)、木魚巷等。
user: 給我寫一個快速排序算法。
assistant: 快速排序是一種基于比較的排序算法,其時間復雜度為O(nlogn)。具體來說,快速排序通過選取一個基準元素,將數組分為兩部分,使得左邊的元素都小于基準元素,右邊的元素都大于基準元素,然后遞歸地對左右兩部分進行排序。
以下是一個簡單的快速排序算法實現:
```python
def quick_sort(arr):
    if len(arr) <= 1:
        return arr
    pivot = arr[len(arr) // 2]
    left = [x for x in arr if x < pivot]
    middle = [x for x in arr if x == pivot]
    right = [x for x in arr if x > pivot]
    return quick_sort(left) + middle + quick_sort(right)
```
這個算法的優(yōu)點是它通常能夠很好地處理小規(guī)模數據,而且它具有很好的可擴展性,可以輕松地處理不同規(guī)模的數據。但是,它也有一些缺點,例如它需要額外的空間來存儲中間結果,并且它的最壞時間復雜度為O(n^2)。因此,在實際應用中,我們通常使用更高效的排序算法,如歸并排序、插入排序等。
user: 能提供一些測試用例嗎
assistant: 當然可以。以下是一些常見的測試用例:
```python
def test_quick_sort():
    assert quick_sort([]) == []
    assert quick_sort([1]) == [1]
    assert quick_sort([3, 2, 1]) == [1, 2, 3]
    assert quick_sort([5, 8, 2, 1, 6, 3, 4, 7, 9]) == [1, 2, 3, 4, 5, 6, 7, 8, 9]
    assert quick_sort([9, 8, 7, 6, 5, 4, 3, 2, 1]) == [1, 2, 3, 4, 5, 6, 7, 8, 9]
```
這些測試用例包括了各種不同規(guī)模和不同順序的輸入數據。
user: 很好,你知道它的時間復雜度嗎?
assistant: 是的,我知道它的時間復雜度為O(nlogn)。
user:

————————————————

同時,也可選用WebUI,需要先啟動fastchat的controller和worker,在命令行輸入如下命令即可啟動:

python3 -m fastchat.serve.controller
python3 -m fastchat.serve.model_worker --model-path /mnt/models/Yuan2-2B-Janus-hf
python3 -m fastchat.serve.gradio_web_server

啟動完成后,默認會彈出WebUI頁面,選擇Yuan2.0模板即可與Yuan2.0大模型進行對話。以下為使用WebUI與Yuan2.0進行交互的示例:

    • 代碼實現


    • 測試用例


    • 上下文測試


更多更新,請關注Github "源"交流專區(qū),
前往GitHub搜索"IEIT-Yuan/Yuan-2.0"

消息來源:浪潮信息
China-PRNewsire-300-300.png
全球TMT
微信公眾號“全球TMT”發(fā)布全球互聯網、科技、媒體、通訊企業(yè)的經營動態(tài)、財報信息、企業(yè)并購消息。掃描二維碼,立即訂閱!
collection