CPM-BEE:百亿参数开源大模型的探索与实践
2024.08.15 03:16浏览量:19简介:本文介绍了CPM-BEE这一百亿参数的开源中英文双语基座大模型,详细阐述了其特点、部署方法及创建接口服务的步骤,旨在为非专业读者提供易于理解的技术指南。
CPM-BEE 开源大模型介绍
一、CPM-BEE概述
CPM-BEE,作为CPM-Live训练的第二个里程碑,是一款完全开源并允许商用的百亿参数中英文基座大模型。该模型采用Transformer自回归架构(auto-regressive),在超万亿高质量语料上进行预训练,拥有强大的基础能力。CPM-BEE不仅在中英双语上表现优异,还支持广泛的下游任务,如文本生成、翻译、问答等。
二、CPM-BEE的特点
完全开源与商用友好:CPM-BEE模型完全开源,并允许商用,旨在推动大模型领域的发展。OpenBMB团队始终秉承“让大模型飞入千家万户”的开源精神,鼓励全球范围内的科研机构、企业和个人开发者在遵守开源许可协议的前提下,自由地在CPM-BEE基座模型上进行创新。
中英双语性能优异:CPM-BEE在预训练语料上进行了严格的筛选和配比,确保在中英双语上均具有亮眼表现。这使得CPM-BEE能够胜任跨语言的任务处理,满足多语言环境下的应用需求。
超大规模高质量语料:CPM-BEE在超万亿语料上进行训练,是开源社区内经过语料最多的模型之一。通过对预训练语料的严格筛选、清洗和后处理,确保了模型的高质量。
生态支持:OpenBMB大模型系统为CPM-BEE提供了高性能预训练、适配、压缩、推理等一系列工具的支持。这些工具脚本将帮助开发者高效地进行模型进阶使用。
三、CPM-BEE的部署
1. 服务器配置
- GPU:推荐配置8*3080TI服务器(一块24G显存的卡即可满足需求)。
- CUDA:版本需为12.1。
2. 环境安装
安装前,请确保python版本不低于3.7,并根据requirements.txt文件安装所需依赖。具体步骤包括:
- 安装PyTorch:适配CUDA 12.1版本,推荐使用pip安装以避免版本冲突。
- 安装BMTrain:用于分布式训练。
- 安装其他依赖:如jieba、tqdm、tensorboard、numpy、spacy等。
3. 模型下载
- 下载地址:https://huggingface.co/openbmb/cpm-bee-10b/tree/main
- 使用git克隆代码库:
git clone https://github.com/OpenBMB/CPM-Bee.git - 下载模型文件(约19G),并放置到指定目录。
4. 测试模型
- 修改测试文件
text_generation.py中的模型路径。 - 运行测试脚本:
python text_generation.py
四、创建接口服务
1. 新建Flask接口
- 创建一个Python文件(如
flask_server.py),用于编写Flask接口。 - 加载CPM-BEE模型,并配置相关参数。
- 编写处理请求的路由函数,如
/cpmbee/conversation用于处理对话请求。
2. 示例代码
```python
from flask import Flask, request, jsonify
import threading
import torch
from cpm_live.generation.bee import CPMBeeBeamSearch
from cpm_live.models import CPMBeeTorch, CPMBeeConfig
from cpm_live.tokenizers import CPMBeeTokenizer
from opendelta import LoraModel
from flask_cors import CORS
import os
os.environ[“CUDAVISIBLEDEVICES”] = ‘6’
app = Flask(__name)
CORS(app)
加载模型
config = CPMBeeConfig.from_json_file(“config/cpm-bee-10b.json”)
ckpt_path = “model/pytorch_model.bin”
tokenizer = CPMBeeTokenizer()
model = CPMBeeTorch(config=config)
model.load_state_dict(torch.

发表评论
登录后可评论,请前往 登录 或 注册