国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

僅需6GB顯存,擁有專屬AI代碼助手!

2023-08-03 13:11 作者:AI研習(xí)所  | 我要投稿

清華GLM技術(shù)團(tuán)隊(duì)打造的多語言代碼生成模型CodeGeeX近期更新了新的開源版本「CodeGeeX2-6B」。CodeGeeX2是多語言代碼生成模型CodeGeeX的第二代模型,不同于一代 CodeGeeX ,CodeGeeX2 是基于 ChatGLM2 架構(gòu)加入代碼預(yù)訓(xùn)練實(shí)現(xiàn)。


得益于 ChatGLM2 的更優(yōu)性能,CodeGeeX2 在多項(xiàng)指標(biāo)上取得性能提升(+107% > CodeGeeX),僅60億參數(shù)即超過150億參數(shù)的 StarCoder-15B 近10%。相較于一代模型,二代具有更強(qiáng)大的代碼能力、更優(yōu)秀的模型特性、更全面的AI編程助手和更開放的協(xié)議。


CodeGeeX2 特性

- 更強(qiáng)大的代碼能力基于 ChatGLM2-6B 基座語言模型,CodeGeeX2-6B 進(jìn)一步經(jīng)過了 600B 代碼數(shù)據(jù)預(yù)訓(xùn)練,相比一代模型,在代碼能力上全面提升,HumanEval-X 評(píng)測(cè)集的六種編程語言均大幅提升 (Python +57%, C++ +71%, Java +54%, JavaScript +83%, Go +56%, Rust +321%),在Python上達(dá)到 35.9% 的 Pass@1 一次通過率,超越規(guī)模更大的 StarCoder-15B。

- 更優(yōu)秀的模型特性繼承 ChatGLM2-6B 模型特性,CodeGeeX2-6B 更好支持中英文輸入,支持最大 8192 序列長(zhǎng)度,推理速度較一代 CodeGeeX-13B 大幅提升,量化后僅需6GB顯存即可運(yùn)行,支持輕量級(jí)本地化部署。
- 更全面的AI編程助手CodeGeeX插件(VS Code, Jetbrains)后端升級(jí),支持超過100種編程語言,新增上下文補(bǔ)全、跨文件補(bǔ)全等實(shí)用功能。結(jié)合 Ask CodeGeeX 交互式AI編程助手,支持中英文對(duì)話解決各種編程問題,包括且不限于代碼解釋、代碼翻譯、代碼糾錯(cuò)、文檔生成等,幫助程序員更高效開發(fā)。

- 更開放的協(xié)議CodeGeeX2-6B 權(quán)重對(duì)學(xué)術(shù)研究完全開放,可申請(qǐng)商業(yè)使用。

如何快速使用CodeGeeX2

GLM團(tuán)隊(duì)開發(fā)了支持 VS Code、 IntelliJ IDEA、PyCharm、GoLand、WebStorm、Android Studio 等IDE的 CodeGeeX 插件。在插件中,可以更直接地體驗(yàn)到 CodeGeeX2 模型在代碼生成與補(bǔ)全、添加注釋、代碼翻譯及技術(shù)問答方面的能力為開發(fā)效率帶來的提升。插件下載:https://codegeex.cn/zh-CN/downloadGuide



CodeGeeX2推理及量化教程

下載本倉庫并使用pip安裝環(huán)境依賴:

git clone https://github.com/THUDM/CodeGeeX2cd CodeGeeX2pip install -r requirements.txt使用transformers快速調(diào)用CodeGeeX2-6B:from transformers import AutoTokenizer, AutoModeltokenizer = AutoTokenizer.from_pretrained("THUDM/codegeex2-6b", trust_remote_code=True)model = AutoModel.from_pretrained("THUDM/codegeex2-6b", trust_remote_code=True, device='cuda') # 如使用CPU推理,device='cpu'model = model.eval()# CodeGeeX2支持100種編程語言,加入語言標(biāo)簽引導(dǎo)生成相應(yīng)的語言prompt = "# language: Python\n# write a bubble sort function\n"inputs = tokenizer.encode(prompt, return_tensors="pt").to(model.device)outputs = model.generate(inputs, max_length=256, top_k=1) # 示例中使用greedy decoding,檢查輸出結(jié)果是否對(duì)齊response = tokenizer.decode(outputs[0])>>> print(response)# language: Python# write a bubble sort functiondef bubble_sort(list): for i in range(len(list) - 1): for j in range(len(list) - 1): if list[j] > list[j + 1]: list[j], list[j + 1] = list[j + 1], list[j] return listprint(bubble_sort([5, 2, 1, 8, 4]))CodeGeeX2目前支持在多種不同平臺(tái)上進(jìn)行推理,包括CPU推理,多卡推理,加速推理等。

- 多精度/量化推理

CodeGeeX2 使用BF16訓(xùn)練,推理時(shí)支持BF16/FP16/INT8/INT4,可以根據(jù)顯卡顯存選擇合適的精度格式:


默認(rèn)使用BF16精度進(jìn)行推理,如顯卡不支持BF16(??如使用錯(cuò)誤的格式,推理結(jié)果將出現(xiàn)亂碼),需要轉(zhuǎn)換為FP16格式:model = AutoModel.from_pretrained(model_path, trust_remote_code=True).half().to("cuda")

- 多GPU推理

用gpus.py實(shí)現(xiàn)多GPU推理:from gpus import load_model_on_gpusmodel = load_model_on_gpus("THUDM/codegeex2-6b", num_gpus=2)

- Mac推理

對(duì)于搭載了 Apple Silicon 或者 AMD GPU 的 Mac,可以使用 MPS 后端運(yùn)行。參考 Apple 的官方說明安裝 PyTorch-Nightly(正確的版本號(hào)應(yīng)該是2.x.x.dev2023xxxx,如2.1.0.dev20230729):pip3 install --pre torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/nightly/cpu在 MacOS 上只支持從本地加載模型(提前下載權(quán)重codegeex2-6b,codegeex2-6b-int4),支持FP16/INT8/INT4格式,并使用 mps 后端:model = AutoModel.from_pretrained(model_path, trust_remote_code=True).half().to('mps')

- fastllm加速推理

可以使用fastllm對(duì) CodeGeeX2 進(jìn)行加速,fastllm是目前支持GLM架構(gòu)的最快開源框架。首先安裝fastllm_pytools:git clone https://github.com/ztxz16/fastllmcd fastllmmkdir buildcd build# 使用GPU編譯,需要添加CUDA路徑:export CUDA_HOME=/usr/local/cuda/bin:$PATH,export PATH=$PATH:$CUDA_HOME/bincmake .. -DUSE_CUDA=ON # 如果不使用GPU編譯 cmake .. -DUSE_CUDA=OFFmake -jcd tools && python setup.py install # 確認(rèn)安裝是否成功,在python中 import fastllm_pytools 不報(bào)錯(cuò)

將huggingface轉(zhuǎn)換成fastllm格式:

# 原本的調(diào)用代碼from transformers import AutoTokenizer, AutoModeltokenizer = AutoTokenizer.from_pretrained("THUDM/codegeex2-6b", trust_remote_code=True)model = AutoModel.from_pretrained("THUDM/codegeex2-6b", trust_remote_code=True)# 加入下面這兩行,將huggingface模型轉(zhuǎn)換成fastllm模型from fastllm_pytools import llmmodel = llm.from_hf(model, tokenizer, dtype="float16") # dtype支持 "float16", "int8", "int4"

fastllm中模型接口和huggingface不完全相同,可以參考demo/run_demo.py中的相關(guān)實(shí)現(xiàn):

model.direct_query = Trueoutputs = model.chat(tokenizer, prompt, max_length=out_seq_length, top_p=top_p, top_k=top_k, temperature=temperature)response = outputs[0]

僅需6GB顯存,擁有專屬AI代碼助手!的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
德安县| 宜阳县| 玛曲县| 汶上县| 黄龙县| 兴安县| 宁陵县| 灵川县| 穆棱市| 慈利县| 邛崃市| 灵川县| 齐齐哈尔市| 抚顺市| 德江县| 蒙山县| 山东省| 育儿| 肃北| 淳化县| 铜梁县| 枣庄市| 建湖县| 武清区| 独山县| 屯留县| 永仁县| 邵阳市| 洮南市| 米泉市| 梅州市| 普兰店市| 应用必备| 防城港市| 绥棱县| 咸阳市| 东城区| 吉林市| 邻水| 曲松县| 黄石市|