导读
CodeShell是北京大学知识计算实验室联合四川天府银行AI团队研发的多语言代码大模型基座。CodeShell具有70亿参数,在五千亿Tokens进行了训练,上下文窗口长度为8194。在权威的代码评估Benchmark(HumanEval与MBPP)上,CodeShell取得同等规模最好的性能。
- 强大的性能:CodelShell在HumanEval和MBPP上达到了7B代码基座大模型的最优性能;
- 完整的体系:除了代码大模型,同时开源IDE(VS Code与JetBrains)插件,形成开源的全栈技术体系;
- 轻量化部署:支持本地C++部署,提供轻量快速的本地化软件开发助手解决方案;
- 全面的评测:提供支持完整项目上下文、覆盖代码生成、代码缺陷检测与修复、测试用例生成等常见软件开发活动的多任务评测体系(即将开源);
- 高效的训练:基于高效的数据治理体系,CodeShell在完全冷启动情况下,只训练了五千亿Token即获得了优异的性能
目前CodeShell-7B、CodeShell-7B-Chat、CodeShell-7B-Chat-int4 已在魔搭社区开源,社区整理了基于CodeShell-7B-Chat的推理、部署教程,欢迎大家体验!
环境配置与安装
- python 3.8及以上版本
- pytorch 1.12及以上版本,推荐2.0及以上版本
- 建议使用CUDA 11.4及以上
使用步骤
本文主要演示的模型为CodeShell-7B-Chat,在ModelScope的Notebook的环境(这里以PAI-DSW为例)的配置下运行(显存24G) :
服务器连接与环境准备
1、进入ModelScope首页:modelscope.cn,进入我的Notebook
2、选择GPU环境,进入PAI-DSW在线开发环境
3、新建Notebook
模型链接和下载
CodeShell系列模型现已在ModelScope社区开源,包括:
CodeShell-7B模型:
https://modelscope.cn/models/WisdomShell/CodeShell-7B
CodeShell-7B-Chat模型:
https://modelscope.cn/models/WisdomShell/CodeShell-7B-Chat
CodeShell-7B-Chat-int4模型:
https://modelscope.cn/models/WisdomShell/CodeShell-7B-Chat-int4
社区支持直接下载模型的repo:
from modelscope import snapshot_download model_dir1 = snapshot_download("WisdomShell/CodeShell-7B-Chat", revision = "v1.0")
模型推理
推理代码:
import time import torch from modelscope import snapshot_download from modelscope import AutoModelForCausalLM, AutoTokenizer from modelscope import GenerationConfig model_dir = snapshot_download('WisdomShell/CodeShell-7B-Chat', revision='v1.0') device = torch.device('cuda:0') model = AutoModelForCausalLM.from_pretrained(model_dir, torch_dtype=torch.bfloat16, trust_remote_code=True).to(device) tokenizer = AutoTokenizer.from_pretrained(model_dir) history = [] query = '你是谁?' response = model.chat(query, history, tokenizer) print(response) history.append((query, response)) query = '用Python写一个HTTP server' response = model.chat(query, history, tokenizer) print(response) history.append((query, response))
资源消耗:
多端推理和部署
本次CodeShell同时也上传了int4的模型和量化后的模型的GGUF格式,可以在魔搭社区的免费实例的CPU实现推理和部署。
具体可以参考:https://github.com/WisdomShell/llama_cpp_for_codeshell
内存消耗:
点击阅读全文,直达开源链接