omniture

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

2024-02-28 15:36 3591

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


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

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

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

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

  • Step 1: 安裝FastChat

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

    • pip安裝

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

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系列基礎(chǔ)大模型

模型

序列長度

下載鏈接

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:啟動(dòng)FastChat推理服務(wù)

采用如下命令啟動(dòng)FastChat服務(wù):

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

至此,基于Yuan2.0基礎(chǔ)大模型的FastChat推理服務(wù)就已啟動(dòng)完成了!服務(wù)啟動(dòng)后會(huì)進(jìn)入客戶端頁面??蛻舳私换?shí)例如下:

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

user: 你好。
assistant: 您好,有什么可以幫助您的嗎?
user: 介紹一下北京。
assistant: 北京是中國的首都,位于華北平原中部。它是一個(gè)歷史悠久、文化燦爛的城市,也是現(xiàn)代化與傳統(tǒng)文化相結(jié)合的代表之一。北京擁有著豐富的歷史遺產(chǎn)和文化景觀,如紫禁城、天安門廣場、頤和園、長城等。此外,北京還有許多現(xiàn)代建筑和創(chuàng)意藝術(shù)作品,如798藝術(shù)區(qū)、木魚巷等。
user: 給我寫一個(gè)快速排序算法。
assistant: 快速排序是一種基于比較的排序算法,其時(shí)間復(fù)雜度為O(nlogn)。具體來說,快速排序通過選取一個(gè)基準(zhǔn)元素,將數(shù)組分為兩部分,使得左邊的元素都小于基準(zhǔn)元素,右邊的元素都大于基準(zhǔn)元素,然后遞歸地對左右兩部分進(jìn)行排序。
以下是一個(gè)簡單的快速排序算法實(shí)現(xiàn):
```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)
```
這個(gè)算法的優(yōu)點(diǎn)是它通常能夠很好地處理小規(guī)模數(shù)據(jù),而且它具有很好的可擴(kuò)展性,可以輕松地處理不同規(guī)模的數(shù)據(jù)。但是,它也有一些缺點(diǎn),例如它需要額外的空間來存儲(chǔ)中間結(jié)果,并且它的最壞時(shí)間復(fù)雜度為O(n^2)。因此,在實(shí)際應(yīng)用中,我們通常使用更高效的排序算法,如歸并排序、插入排序等。
user: 能提供一些測試用例嗎
assistant: 當(dāng)然可以。以下是一些常見的測試用例:
```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ī)模和不同順序的輸入數(shù)據(jù)。
user: 很好,你知道它的時(shí)間復(fù)雜度嗎?
assistant: 是的,我知道它的時(shí)間復(fù)雜度為O(nlogn)。
user:

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

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

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

啟動(dòng)完成后,默認(rèn)會(huì)彈出WebUI頁面,選擇Yuan2.0模板即可與Yuan2.0大模型進(jìn)行對話。以下為使用WebUI與Yuan2.0進(jìn)行交互的示例:

    • 代碼實(shí)現(xiàn)


    • 測試用例


    • 上下文測試


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

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