【AI实战】开源可商用的中英文大语言模型baichuan-7B,从零开始搭建

2023-10-29

【AI实战】开源可商用的中英文大语言模型baichuan-7B,从零开始搭建

在这里插入图片描述

baichuan-7B 简介

baichuan-7B 是由百川智能开发的一个开源可商用的大规模预训练语言模型。基于 Transformer 结构,在大约1.2万亿 tokens 上训练的70亿参数模型,支持中英双语,上下文窗口长度为4096。在标准的中文和英文权威 benchmark(C-EVAL/MMLU)上均取得同尺寸最好的效果。

baichuan-7B 中文评测

  • C-Eval
    在这里插入图片描述

  • Gaokao
    在这里插入图片描述

baichuan-7B 搭建

  • 1、拉取docker镜像

    docker pull nvcr.io/nvidia/pytorch:21.08-py3
    

    【】需要 cuda 11.1 及以上版本

  • 2、创建docker

    nvidia-docker run -it -d \
        --name baichuan_llm \
        -v /llm:/notebooks \
        -e TZ='Asia/Shanghai' \
        --shm-size 16G \
        nvcr.io/nvidia/pytorch:21.08-py3
    

    进入容器内:

    docker exec -it baichuan_llm env LANG=C.UTF-8 /bin/bash
    
  • 3、下载代码

    cd /notebooks/
    git clone https://github.com/baichuan-inc/baichuan-7B.git
    
  • 4、下载模型权重文件

    cd baichuan-7B/
    git clone https://huggingface.co/baichuan-inc/baichuan-7B
    
  • 5、按照依赖库

    pip install -r requirements.txt
    
  • 6、推理

    from transformers import AutoModelForCausalLM, AutoTokenizer
    
    tokenizer = AutoTokenizer.from_pretrained("baichuan-7B", trust_remote_code=True)
    model = AutoModelForCausalLM.from_pretrained("baichuan-7B", device_map="auto", trust_remote_code=True)
    inputs = tokenizer('登鹳雀楼->王之涣\n夜雨寄北->', return_tensors='pt')
    inputs = inputs.to('cuda:0')
    pred = model.generate(**inputs, max_new_tokens=64,repetition_penalty=1.1)
    print(tokenizer.decode(pred.cpu()[0], skip_special_tokens=True))
    
    • 输出

      在这里插入图片描述

  • 7、训练

    • 准备数据
      用户将训练语料按总rank数的倍数均匀切分成多个 UTF-8 文本文件,放置在语料目录(默认为 data_dir )下。各个rank进程将会读取语料目录下的不同文件,全部加载到内存后,开始后续训练过程。以上是简化的示范流程,建议用户在正式训练任务中,根据需求调整数据生产逻辑。

    • 配置 DeepSpeed
      修改 config/hostfile ,如果是多机多卡,需要修改 ssh 中各个节点的 IP 配置。

    • 训练

      sh scripts/train.sh
      

参考

https://huggingface.co/baichuan-inc/baichuan-7B/tree/main
https://github.com/baichuan-inc/baichuan-7B

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【AI实战】开源可商用的中英文大语言模型baichuan-7B,从零开始搭建 的相关文章

  • innodb_lock_wait_timeout 参数

    innodb lock wait timeout 参数 innodb lock wait timeout 参数指定了 InnoDB 引擎在等待行级锁或间隙锁的最长时间 以秒为单位 如果一个事务在超过该时间后仍然无法获取锁 那么该事务就会被取

随机推荐

  • upload-labs靶场 11-19关 详细教学 上传漏洞

    第11关 这关采用的防御手法是白名单过滤 只允许上传jpg png和gif类型 并且将上传的文件给重命名为了白名单中的后缀 这里我们用00截断 要求是php版本低于或等于5 3 4 这一关上传目录是可控的 所以可以先上传一个后缀名为 jpg
  • Vue-admin-template结合后端配置动态路由+动态侧边栏

    Vue admin template结合后端配置动态路由 动态菜单 在使用这个vue admin template的时候 发现其官方文档的推荐是使用动静结合的方法去配置动态路由 其官方大致过程就是 此处路由数组为通用跳转路径 意思是不需要权
  • C# 多线程笔记

    多线程 启动线程方式 new Thread Start 启动线程 Task Factory StartNew 启动线程 线程池启动TreadPool QueueUserWorkItem 启动工作线程 BackgroundWorker Run
  • 一款不错的基于WEB技术的文件服务器

    首先 让我感谢朋友ZHANGBIN给介绍的这个程序 一个不错的 只有500KB左右且免安装的小程序 说明 这是一款不错的基于WEB技术的文件服务器 能够使用它进行文件的上传和下载 呵呵 如果是进行一些小文件的INTERNET传输 或是较大文
  • 华为云计算之华为私有云初识

    华为云计算之华为私有云初识 一 huawei cloud stack私有云解决方案 二 华为云Stack功能介绍 三 华为FusionCloud典型部署 四 FusionCloud部署场景 五 双核心组网 Spine BL和SL合并拓扑图
  • MNE-Python工具箱使用raw.plot绘图时遇到问题

    使用MNE Python工具箱进行脑电数据分析时绘图的代码如下所示 import matplotlib import pathlib import mne matplotlib use Qt5Agg 加载原始数据及其路径 raw path
  • github里的默认域_渗透基础——域用户的密码永不过期属性

    0x00 前言 在域环境中 域用户的凭据是十分重要的信息 为了增强安全性 域组策略会设置所有域用户口令的最长有效时间 到达过期时间后强制用户更改口令 在实际环境中 有些域用户需要设置为密码永不过期 这可以通过添加密码永不过期属性来实现 在域
  • Linux系统中Qt程序指定位置加载库文件的四种方式

    这边提供四种方法 方法一 环境变量临时加载 export LD LIBRARY PATH home yjd code mylib 这种方式在终端退出后就会失效 方法二 配置环境变量到当前用户的 profile文件中 在 profile文件末
  • python 爬虫(一) requests+BeautifulSoup 爬取简单网页图片代码示例

    最近学习了Python 借助各个大神的文章 自己写了以下代码 来爬取网页图片 希望可以帮助到大家 工具是 idea coding utf 8 import requests from bs4 import BeautifulSoup imp
  • Linux虚拟机安装及其注意事项!

    Linux虚拟机安装及其注意事项 安装须知 装前必看 一 安装虚拟机 二 安装操作系统 总结 安装须知 装前必看 本次安装为运用VMware workstation虚拟机软件在物理机上进行安装 本次安装为RedHat Enterprise
  • Swift5.0 WKWebView中的JS交互

    好的团队离不开大家的默契合作 在开发中经常遇到H5和移动端合作的业务 在开发中JS交互是非常常见的 小萌现在的主打语言是Swift 所以封装一下Swift版的JS交互 完整代码 在此之前加入协议WKNavigationDelegate WK
  • C# winform流程图(功能超完整附下载链接)

    C winform流程图 功能超完整 工具箱 文件存储打开 画布放大缩小 图元操作 操作步骤 可撤销 图元属性调节 点我下载项目源码 1 工具箱创建图元 矩形 菱形 圆 直线 曲线 其他图形可以自行仿照开发 2 图元有六个操纵柄 四个连接点
  • vs2008编译live555源码

    1解决方案编译方式 1 1简介 Live555 是一个为流媒体提供解决方案的跨平台的C 开源项目 它实现了对标准流媒体传输协议如RTP RTCP RTSP SIP等的支持 Live555实现了对多种音视频编码格式的音视频数据的流化 接收和处
  • cudnn配置

    2019独角兽企业重金招聘Python工程师标准 gt gt gt cudnn cuda config sudo cp cuda include cudnn h usr local cuda include sudo cp cuda lib
  • L2-029 特立独行的幸福

    对一个十进制数的各位数字做一次平方和 称作一次迭代 如果一个十进制数能通过若干次迭代得到 1 就称该数为幸福数 1 是一个幸福数 此外 例如 19 经过 1 次迭代得到 82 2 次迭代后得到 68 3 次迭代后得到 100 最后得到 1
  • 使用python实现自动点击功能

    猜你感兴趣 使用Pyqt5玩转ChatGpt 内网文件共享服务 快速搭建私有pip镜像源 python设计模式 创建型模式 docker搭建私有git服务器 项目备份和迁移 redis持久化方案 被测点击界面 新建counter html添
  • CDH简介及CDH部署、原理和使用介绍( 版本6.3.1 )

    CDH简介及CDH部署 原理和使用介绍 版本6 3 1 第一章 CDH简介 CDH概念 CDH是Cloudera的100 开源平台发行版 包括Apache Hadoop 专为满足企业需求而构建 CDH提供开箱即用的企业使用所需的一切 通过将
  • python 模型 ORM简介

    Django之ORM Object Relational Mapping ORM 一 ORM介绍1 ORM概念 对象关系映射模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术 2 ORM由来 让我们从O R开始 字母O起源于
  • 菜狗杯Misc你会异或吗wp

    题目给出提示 神秘数字0x50 下载附件后是一个打不开的png 用010打开看下内容 结合异或和0x50的提示 可以发现0xD9 0x50 0x89 0x00 0x50 0x50 0x1E 0x50 0x4E 所以很明显了文件开头应该恢复成
  • 【AI实战】开源可商用的中英文大语言模型baichuan-7B,从零开始搭建

    AI实战 开源可商用的中英文大语言模型baichuan 7B 从零开始搭建 baichuan 7B 简介 baichuan 7B 中文评测 baichuan 7B 搭建 参考 baichuan 7B 简介 baichuan 7B 是由百川智