一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

LLMs之InternLM:InternLM/InternLM-7B模型的簡介、安裝、使用方法之詳細(xì)攻略

 處女座的程序猿 2023-07-14 發(fā)布于上海

LLMs之InternLM:InternLM/InternLM-7B模型的簡介、安裝、使用方法之詳細(xì)攻略

導(dǎo)讀:InternLM有?1040億參數(shù),是在包含1.6萬億token的多語種高質(zhì)量數(shù)據(jù)集上訓(xùn)練而成。同時(shí),InternLM-7B完全可商用,支持8k語境窗口長度,中文超ChatGPT,訓(xùn)練和評估動(dòng)態(tài)反饋調(diào)整基于ML deploy部署(基于Fast?Transform研發(fā))快速加載大模型,比Transform快到2~3倍Hybrid?Zero提速?,開放OpenCompass?評測標(biāo)準(zhǔn)。


InternLM模型的簡介

? ? ? ? ?2023年6月7日,上海人工智能實(shí)驗(yàn)室(上海AI實(shí)驗(yàn)室)、商湯科技聯(lián)合香港中文大學(xué)、復(fù)旦大學(xué)及上海交通大學(xué)發(fā)布千億級參數(shù)大語言模型“書生·浦語”(InternLM)。“書生·浦語”具有?1040億參數(shù),是在包含1.6萬億token的多語種高質(zhì)量數(shù)據(jù)集上訓(xùn)練而成。全面評測結(jié)果顯示,“書生·浦語”不僅在知識掌握、閱讀理解、數(shù)學(xué)推理、多語翻譯等多個(gè)測試任務(wù)上表現(xiàn)優(yōu)秀,而且具備很強(qiáng)的綜合能力,因而在綜合性考試中表現(xiàn)突出,在多項(xiàng)中文考試中取得超越ChatGPT的成績,其中就包括中國高考各科目的數(shù)據(jù)集(GaoKao)。
? ? ? ? ?2023年7月6日,在2023世界人工智能大會(huì)(WAIC)科學(xué)前沿全體會(huì)議上,深度學(xué)習(xí)與計(jì)算機(jī)專家、上海人工智能實(shí)驗(yàn)室教授、香港中文大學(xué)教授林達(dá)華,發(fā)布了“書生通用大模型體系”(以下簡稱“書生大模型”),包括書生·多模態(tài)、書生·浦語InternLM和書生·天際LandMark等三大基礎(chǔ)模型,以及首個(gè)面向大模型研發(fā)與應(yīng)用的全鏈條開源體系。當(dāng)天,正式開源的版本為一個(gè)70億參數(shù)的輕量級InternLM-7B,在包含40個(gè)評測集的全維度評測中展現(xiàn)出卓越且平衡的性能,全面領(lǐng)先現(xiàn)有開源模型。
? ? ? ? ?InternLM ,即書生·浦語大模型,包含面向?qū)嵱脠鼍暗?0億參數(shù)基礎(chǔ)模型與對話模型 (InternLM-7B)。模型具有以下特點(diǎn):

  • 使用上萬億高質(zhì)量預(yù)料,建立模型超強(qiáng)知識體系;
  • 支持8k語境窗口長度,實(shí)現(xiàn)更長輸入與更強(qiáng)推理體驗(yàn);
  • 通用工具調(diào)用能力,支持用戶靈活自助搭建流程;

? ? ? ? ?提供了支持模型預(yù)訓(xùn)練的輕量級訓(xùn)練框架,無需安裝大量依賴包,一套代碼支持千卡預(yù)訓(xùn)練和單卡人類偏好對齊訓(xùn)練,同時(shí)實(shí)現(xiàn)了極致的性能優(yōu)化,實(shí)現(xiàn)千卡訓(xùn)練下近90%加速效率。

GitHub地址GitHub - InternLM/InternLM: InternLM has open-sourced a 7 billion parameter base model, a chat model tailored for practical scenarios and the training system.

論文地址https://github.com/InternLM/InternLM-techreport/blob/main/InternLM.pdf

InternLM-techreportGitHub - InternLM/InternLM-techreport

1、InternLM的techreport

? ? ? ? 我們推出了InternLM,一個(gè)具有1,040億參數(shù)的多語言基礎(chǔ)語言模型。InternLM使用多階段漸進(jìn)式的過程,在1.6T個(gè)標(biāo)記的大型語料庫上進(jìn)行預(yù)訓(xùn)練,然后通過微調(diào)來與人類喜好相匹配。我們還開發(fā)了一個(gè)名為Uniscale-LLM的訓(xùn)練系統(tǒng),用于高效的大型語言模型訓(xùn)練。在多個(gè)基準(zhǔn)測試上的評估表明,InternLM在多個(gè)方面,包括知識理解、閱讀理解、數(shù)學(xué)和編碼方面,均實(shí)現(xiàn)了最先進(jìn)的性能。憑借如此全面的能力,InternLM在包括MMLU、AGIEval、C-Eval和GAOKAO-Bench在內(nèi)的綜合考試中取得了出色的表現(xiàn),而無需使用外部工具。在這些基準(zhǔn)測試中,InternLM不僅表現(xiàn)優(yōu)于開源模型,而且相對于ChatGPT也獲得了更優(yōu)異的性能。此外,InternLM展示了出色的理解中文語言和中華文化的能力,這使得它成為支持面向中文語言應(yīng)用的基礎(chǔ)模型的合適選擇。本文詳細(xì)介紹了我們的結(jié)果,包括跨越各種知識領(lǐng)域和任務(wù)的基準(zhǔn)測試和示例。

(1)、主要結(jié)果

? ? ? ? 隨著最新的大型語言模型開始展現(xiàn)人類級別的智能,針對人類設(shè)計(jì)的考試,如中國的高考、美國的SAT和GRE,被視為評估語言模型的重要手段。值得注意的是,在其關(guān)于GPT-4的技術(shù)報(bào)告中,OpenAI通過跨多個(gè)領(lǐng)域的考試對GPT-4進(jìn)行了測試,并將考試成績作為關(guān)鍵結(jié)果。
? ? ? ? 我們在以下四個(gè)綜合考試基準(zhǔn)測試中,將InternLM與其他模型進(jìn)行了比較:

MMLU:基于各種美國考試構(gòu)建的多任務(wù)基準(zhǔn)測試,涵蓋了小學(xué)數(shù)學(xué)、物理、化學(xué)、計(jì)算機(jī)科學(xué)、美國歷史、法律、經(jīng)濟(jì)、外交等多個(gè)學(xué)科。

AGIEval:由微軟研究開發(fā)的基準(zhǔn)測試,用于評估語言模型通過人類導(dǎo)向的考試的能力,包括19個(gè)任務(wù)集,派生自中國和美國的各種考試,例如中國的高考和律師資格考試,以及美國的SAT、LSAT、GRE和GMAT。在這19個(gè)任務(wù)集中,有9個(gè)基于中國的高考(Gaokao),我們將其單獨(dú)列為一個(gè)重要的集合,稱為AGIEval(GK)。

C-Eval:用于評估中文語言模型的綜合基準(zhǔn)測試,包含52個(gè)學(xué)科的近14,000道問題,涵蓋數(shù)學(xué)、物理、化學(xué)、生物、歷史、政治、計(jì)算機(jī)和其他學(xué)科,以及公務(wù)員、注冊會(huì)計(jì)師、律師和醫(yī)生的專業(yè)考試。
排行榜地址https:///static/leaderboard.html

GAOKAO-Bench:基于中國的高考的綜合基準(zhǔn)測試,包括高考的所有科目。它提供不同類型的問題,包括多項(xiàng)選擇、填空和問答。為了簡潔起見,我們將這個(gè)基準(zhǔn)測試簡稱為高考。

2、InternLM-7B模型的簡介

? ? ?InternLM ,即書生·浦語大模型,包含面向?qū)嵱脠鼍暗?0億參數(shù)基礎(chǔ)模型 (InternLM-7B)。模型具有以下特點(diǎn):

  • 使用上萬億高質(zhì)量預(yù)料,建立模型超強(qiáng)知識體系;
  • 通用工具調(diào)用能力,支持用戶靈活自助搭建流程;

官網(wǎng)internlm/internlm-7b · Hugging Face

3、InternLM、InternLM-7B模型的性能評測

? ? ?我們使用開源評測工具?OpenCompass?從學(xué)科綜合能力、語言能力、知識能力、推理能力、理解能力五大能力維度對InternLM開展全面評測,部分評測結(jié)果如下表所示,歡迎訪問?OpenCompass 榜單?獲取更多的評測結(jié)果。

數(shù)據(jù)集\模型InternLM-Chat-7BInternLM-7BLLaMA-7BBaichuan-7BChatGLM2-6BAlpaca-7BVicuna-7B
C-Eval(Val)53.253.424.242.750.928.931.2
MMLU50.851.035.2*41.546.039.747.3
AGIEval42.537.620.824.639.024.126.4
CommonSenseQA75.259.565.058.860.068.766.7
BUSTM74.350.648.551.355.048.862.5
CLUEWSC78.659.150.352.859.850.352.2
MATH6.47.12.83.06.62.22.8
GSM8K34.531.210.19.729.26.015.3
HumanEval14.010.414.09.29.29.211.0
RACE(High)76.357.446.9*28.166.340.754.0
  • 以上評測結(jié)果基于?OpenCompass 20230706?獲得(部分?jǐn)?shù)據(jù)標(biāo)注*代表數(shù)據(jù)來自原始論文),具體測試細(xì)節(jié)可參見?OpenCompass?中提供的配置文件。
  • 評測數(shù)據(jù)會(huì)因?OpenCompass?的版本迭代而存在數(shù)值差異,請以?OpenCompass?最新版的評測結(jié)果為主。

4、InternLM-7B模型的局限性

? ? ? ? 盡管在訓(xùn)練過程中我們非常注重模型的安全性,盡力促使模型輸出符合倫理和法律要求的文本,但受限于模型大小以及概率生成范式,模型可能會(huì)產(chǎn)生各種不符合預(yù)期的輸出,例如回復(fù)內(nèi)容包含偏見、歧視等有害內(nèi)容,請勿傳播這些內(nèi)容。由于傳播不良信息導(dǎo)致的任何后果,本項(xiàng)目不承擔(dān)責(zé)任。

InternLM-7B模型的安裝

1、Model Zoo

當(dāng)前通過 InternLM 訓(xùn)練的 InternLM 7B 和 InternLM 7B Chat 已經(jīng)開源,我們提供兩種格式的模型權(quán)重以供使用。除了使用 Transformers 格式加載模型之外,還可以通過 InternLM 加載以下格式的權(quán)重直接進(jìn)行繼續(xù)預(yù)訓(xùn)練或人類偏好對齊訓(xùn)練

模型InternLM 格式權(quán)重下載地址Transformers 格式權(quán)重下載地址
InternLM 7B?編輯🤗internlm/intern-7b
InternLM Chat 7B?編輯🤗internlm/intern-chat-7b
InternLM Chat 7B 8k?編輯🤗internlm/intern-chat-7b-8k

2、InternLM 7B下載地址

下載地址https:///internlm/internlm-7b/tree/main

InternLM模型的高性能部署

1、使用?LMDeploy?完成 InternLM 的一鍵部署。

首先安裝 LMDeploy:

python3 -m pip install lmdeploy

快速的部署命令如下:

python3 -m lmdeploy.serve.turbomind.deploy InternLM-7B /path/to/internlm-7b/model hf

在導(dǎo)出模型后,你可以直接通過如下命令啟動(dòng)服務(wù)一個(gè)服務(wù)并和部署后的模型對話

python3 -m lmdeploy.serve.client {server_ip_addresss}:33337

完整部署教程GitHub - InternLM/lmdeploy: LMDeploy is a toolkit for compressing, deploying, and serving LLM

2、微調(diào)&訓(xùn)練

預(yù)訓(xùn)練與微調(diào)使用教程

請參考使用教程開始InternLM的安裝、數(shù)據(jù)處理、預(yù)訓(xùn)練與微調(diào)。

轉(zhuǎn)換為 Transformers 格式使用

通過 InternLM 進(jìn)行訓(xùn)練的模型可以很輕松地轉(zhuǎn)換為 HuggingFace Transformers 格式,方便與社區(qū)各種開源項(xiàng)目無縫對接。借助?tools/convert2hf.py?可以將訓(xùn)練保存的權(quán)重一鍵轉(zhuǎn)換為 transformers 格式

python convert2hf.py --src_folder origin_ckpt/ --tgt_folder hf_ckpt/ --tokenizer tokenizes/tokenizer.model

轉(zhuǎn)換之后可以通過以下的代碼加載為 transformers

from transformers import AutoTokenizer, AutoModel
model = AutoModel.from_pretrained("hf_ckpt/", trust_remote_code=True).cuda()

3、訓(xùn)練系統(tǒng)

InternLM系統(tǒng)結(jié)構(gòu)代碼文件結(jié)構(gòu)


InternLM系統(tǒng)結(jié)構(gòu)本項(xiàng)目系統(tǒng)代碼文件結(jié)構(gòu)如下所示:

├── configs                                  # 配置模塊,管理模型和訓(xùn)練相關(guān)參數(shù)
│   └── 7B_sft.py                            # 7B_sft.py 是系統(tǒng) demo 的配置文件樣例
├── internlm                                 # 系統(tǒng)代碼的主目錄
│   ├── apis                                 # 接口模塊,包含一些關(guān)于推理等的接口函數(shù)
│   ├── core                                 # 核心模塊,管理用于訓(xùn)練和推理的 parallel context 和訓(xùn)練調(diào)度引擎
│   │   ├── context                          # context 模塊,主要負(fù)責(zé)初始化并行進(jìn)程組,并管理 parallel context
│   │   │   ├── parallel_context.py
│   │   │   └── process_group_initializer.py
│   │   ├── engine.py                        # 負(fù)責(zé)管理模型的訓(xùn)練和評估過程
│   │   ├── no_pipeline_scheduler.py         # 并行訓(xùn)練的調(diào)度器
│   │   └── trainer.py                       # 負(fù)責(zé)管理訓(xùn)練引擎和調(diào)度器
│   ├── data                                 # 數(shù)據(jù)模塊,負(fù)責(zé)管理數(shù)據(jù)集生成和處理
│   ├── initialize                           # 初始化模塊,負(fù)責(zé)管理分布式環(huán)境啟動(dòng)和訓(xùn)練器初始化
│   ├── model                                # 模型模塊,負(fù)責(zé)管理模型結(jié)構(gòu)定義和實(shí)現(xiàn)
│   ├── solver                               # 負(fù)責(zé)管理 optimizer 和 lr_scheduler 等的實(shí)現(xiàn)
│   └── utils                                # 輔助模塊,負(fù)責(zé)管理日志、存儲、模型注冊等
├── train.py                                 # 模型訓(xùn)練的主函數(shù)入口文件
├── requirements                             # 系統(tǒng)運(yùn)行的依賴包列表
├── third_party                              # 系統(tǒng)所依賴的第三方模塊,包括 apex 和 flash-attention 等
├── tools                                    # 一些腳本工具,用于原始數(shù)據(jù)集處理和轉(zhuǎn)換,模型 checkpoint 轉(zhuǎn)換等
└── version.txt                              # 系統(tǒng)版本號

訓(xùn)練性能

InternLM 深度整合了 Flash-Attention, Apex 等高性能模型算子,提高了訓(xùn)練效率。通過構(gòu)建 Hybrid Zero 技術(shù),實(shí)現(xiàn)計(jì)算和通信的高效重疊,大幅降低了訓(xùn)練過程中的跨節(jié)點(diǎn)通信流量。InternLM 支持 7B 模型從 8 卡擴(kuò)展到 1024 卡,千卡規(guī)模下加速效率可高達(dá) 90%,訓(xùn)練吞吐超過 180TFLOPS,平均單卡每秒處理的 token 數(shù)量超過3600。下表為 InternLM 在不同配置下的擴(kuò)展性測試數(shù)據(jù):

GPU Number81632641282565121024
TGS40783939391939443928392038353625
TFLOPS193191188188187185186184

TGS 代表平均每GPU每秒可以處理的 Token 數(shù)量。更多的性能測試數(shù)據(jù)可參考訓(xùn)練性能文檔進(jìn)一步了解。

InternLM-7B模型的使用方法

1、通過以下的代碼加載 InternLM 7B Chat 模型

from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("internlm/internlm-7b", trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained("internlm/internlm-7b", trust_remote_code=True).cuda()
model = model.eval()
inputs = tokenizer(["來到美麗的大自然,我們發(fā)現(xiàn)"], return_tensors="pt")
for k,v in inputs.items():
gen_kwargs = {"max_length": 128, "top_p": 0.8, "temperature": 0.8, "do_sample": True, "repetition_penalty": 1.1}
output = model.generate(**inputs, **gen_kwargs)
print(output)

2、InternLM 7B Chat 模型的使用方法

(1)、通過以下的代碼加載 InternLM 7B Chat 模型

from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("internlm/internlm-chat-7b", trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained("internlm/internlm-chat-7b", trust_remote_code=True).cuda()
model = model.eval()
response, history = model.chat(tokenizer, "你好", history=[])
print(response)
response, history = model.chat(tokenizer, "請?zhí)峁┤齻€(gè)管理時(shí)間的建議。", history=history)
print(response)

(2)、通過前端網(wǎng)頁對話

可以通過以下代碼啟動(dòng)一個(gè)前端的界面來與 InternLM Chat 7B 模型進(jìn)行交互

pip install streamlit==1.24.0
pip install transformers==4.30.2
streamlit run web_demo.py

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    国产精品一区二区丝袜| 国产老熟女超碰一区二区三区| 少妇人妻中出中文字幕| 五月激情五月天综合网| 亚洲熟妇av一区二区三区色堂| 日韩少妇人妻中文字幕| 隔壁的日本人妻中文字幕版| 又黄又色又爽又免费的视频| 日韩在线视频精品中文字幕| 日韩人妻毛片中文字幕| 免费大片黄在线观看日本| 欧美日韩久久精品一区二区| 中文字幕精品一区二区三| 国内外免费在线激情视频| 日本加勒比不卡二三四区| 偷拍偷窥女厕一区二区视频| 最新午夜福利视频偷拍| 日本av一区二区不卡| 亚洲精品国产主播一区| 日本加勒比在线观看不卡| 久久本道综合色狠狠五月| 午夜福利精品视频视频| 亚洲一区二区福利在线| 99久久免费中文字幕| 国产综合香蕉五月婷在线| 欧美日韩亚洲国产av| 在线一区二区免费的视频| 千仞雪下面好爽好紧好湿全文| 国产精品午夜福利在线观看| 91人妻人人做人碰人人九色| 日韩黄色一级片免费收看| 亚洲午夜av久久久精品| 成人精品日韩专区在线观看| 九九热这里有精品20| 日韩国产亚洲欧美激情| 青青操成人免费在线视频| 男女午夜在线免费观看视频| 日本在线不卡高清欧美| 国产又黄又猛又粗又爽的片| 尹人大香蕉中文在线播放| 亚洲国产成人一区二区在线观看|