北京2024年2月28日 /美通社/ -- 近日,浪潮信息Yuan2.0大模型與FastChat框架完成全面適配,推出"企業(yè)快速本地化部署大模型對(duì)話平臺(tái)"方案。該方案主要面向金融、法律、教育等領(lǐng)域,且有數(shù)據(jù)隱私保護(hù)需求的本地化部署場(chǎng)景。全面開(kāi)放的對(duì)話模板功能,用戶(hù)可基于FastChat平臺(tái),快速對(duì)不同參數(shù)規(guī)模的Yuan2.0基礎(chǔ)模型進(jìn)行訓(xùn)練、評(píng)估和應(yīng)用,將Yuan2.0系列基礎(chǔ)大模型部署于私有環(huán)境,快速部署企業(yè)級(jí)大模型應(yīng)用。值得一提的是,F(xiàn)astChat提供標(biāo)準(zhǔn)API格式(OpenAI標(biāo)準(zhǔn))的服務(wù),因此,原本采用OpenAI API接口所構(gòu)建的系列應(yīng)用,用戶(hù)無(wú)需修改代碼,僅需更新API服務(wù)的接口地址,即可靈活、絲滑地切換為本地部署的Yuan2.0千億參數(shù)模型。
當(dāng)前,各類(lèi)模型迭代更新飛快。簡(jiǎn)單且易用的對(duì)話模型框架成為了開(kāi)發(fā)者解決本地化構(gòu)建對(duì)話系統(tǒng)的一大利器。標(biāo)準(zhǔn)一致的工具和環(huán)境,可有效實(shí)現(xiàn)后端模型的平滑遷移,開(kāi)發(fā)者能夠在不改變?cè)写a的情況下,輕松適應(yīng)新的模型和技術(shù)要求。基于現(xiàn)成的框架和工具,依托繁榮的社區(qū),進(jìn)而有效地解決了技術(shù)門(mén)檻高、開(kāi)發(fā)流程復(fù)雜、知識(shí)共享困難、部署維護(hù)成本高以及數(shù)據(jù)安全等一系列難題,不僅可提高開(kāi)發(fā)效率,也可為開(kāi)發(fā)者帶來(lái)了更多的便利和可能性。
FastChat是加州大學(xué)伯克利分校LM-SYS發(fā)布的創(chuàng)新型開(kāi)源項(xiàng)目,Github Star數(shù)超31k。旨在為研究和開(kāi)發(fā)人員提供一個(gè)易于使用、可擴(kuò)展的平臺(tái),用于訓(xùn)練、服務(wù)和評(píng)估基于LLM的聊天機(jī)器人,大幅降低開(kāi)發(fā)人員構(gòu)建問(wèn)答系統(tǒng)的門(mén)檻,實(shí)現(xiàn)知識(shí)管理平臺(tái)的輕松部署與高效維護(hù)。其核心功能包括提供最先進(jìn)的模型權(quán)重、訓(xùn)練代碼和評(píng)估代碼(例如Yuan2.0、Vicuna、FastChat-T5)以及帶有Web UI和兼容OpenAI RESTful API的分布式多模型服務(wù)系統(tǒng)。Yuan2.0系列基礎(chǔ)大模型作為首個(gè)全面開(kāi)源的千億參數(shù)模型,在編程、推理、邏輯等方面表現(xiàn)優(yōu)異。通過(guò)Fastchat平臺(tái),企業(yè)級(jí)用戶(hù)可一鍵啟動(dòng)標(biāo)準(zhǔn)API(OpenAI標(biāo)準(zhǔn))服務(wù),滿足企業(yè)需求的定制化應(yīng)用開(kāi)發(fā),輕松對(duì)接口進(jìn)行封裝,高效且安全地開(kāi)發(fā)智能對(duì)話系統(tǒng)。在保證數(shù)據(jù)私密性和安全性的同時(shí),極大地提升了模型本地化部署的效率、應(yīng)用性能及穩(wěn)定性。
基于FastChat使用Yuan2.0大模型,Step by Step實(shí)操教程!
* 如下步驟以Yuan2-2B-Janus-hf模型為例:
FastChat官方提供的兩種安裝方式--pip安裝與源碼安裝
官方提供的采用pip安裝命令為pip3,建議大家采用python3.x,避免出現(xiàn)依賴(lài)包沖突。
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]"
模型 |
序列長(zhǎng)度 |
下載鏈接 |
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 |
采用如下命令啟動(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)入客戶(hù)端頁(yè)面??蛻?hù)端交互實(shí)例如下:
——————————————————
user: 你好。
assistant: 您好,有什么可以幫助您的嗎?
user: 介紹一下北京。
assistant: 北京是中國(guó)的首都,位于華北平原中部。它是一個(gè)歷史悠久、文化燦爛的城市,也是現(xiàn)代化與傳統(tǒng)文化相結(jié)合的代表之一。北京擁有著豐富的歷史遺產(chǎn)和文化景觀,如紫禁城、天安門(mén)廣場(chǎng)、頤和園、長(zhǎng)城等。此外,北京還有許多現(xiàn)代建筑和創(chuàng)意藝術(shù)作品,如798藝術(shù)區(qū)、木魚(yú)巷等。
user: 給我寫(xiě)一個(gè)快速排序算法。
assistant: 快速排序是一種基于比較的排序算法,其時(shí)間復(fù)雜度為O(nlogn)。具體來(lái)說(shuō),快速排序通過(guò)選取一個(gè)基準(zhǔn)元素,將數(shù)組分為兩部分,使得左邊的元素都小于基準(zhǔn)元素,右邊的元素都大于基準(zhǔn)元素,然后遞歸地對(duì)左右兩部分進(jìn)行排序。
以下是一個(gè)簡(jiǎn)單的快速排序算法實(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),例如它需要額外的空間來(lái)存儲(chǔ)中間結(jié)果,并且它的最壞時(shí)間復(fù)雜度為O(n^2)。因此,在實(shí)際應(yīng)用中,我們通常使用更高效的排序算法,如歸并排序、插入排序等。
user: 能提供一些測(cè)試用例嗎
assistant: 當(dāng)然可以。以下是一些常見(jiàn)的測(cè)試用例:
```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]
```
這些測(cè)試用例包括了各種不同規(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頁(yè)面,選擇Yuan2.0模板即可與Yuan2.0大模型進(jìn)行對(duì)話。以下為使用WebUI與Yuan2.0進(jìn)行交互的示例:
更多更新,請(qǐng)關(guān)注Github "源"交流專(zhuān)區(qū),
前往GitHub搜索"IEIT-Yuan/Yuan-2.0"