相关文章推荐
活泼的铁链  ·  PyPI (Python Package ...·  1 年前    · 
发怒的弓箭  ·  android ...·  1 年前    · 
强悍的鸵鸟  ·  dotnet dev-certs ...·  1 年前    · 

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

huggingface
github

  • 系统:centos7.8.2003
  • GPU:2 * 3090 (24G)
git clone https://github.com/baichuan-inc/baichuan-7B.git

下载地址:https://huggingface.co/baichuan-inc/baichuan-7B/tree/main

huggingface模型下载有几种方式:

  • 使用git下载
git lfs install
git clone https://huggingface.co/baichuan-inc/baichuan-7B
  • 网页直接下载,一个个下载,然后放置到固定文件夹下即可。
    在这里插入图片描述
  • 使用代码自动加载huggingface模型
tokenizer = AutoTokenizer.from_pretrained("baichuan-inc/baichuan-7B", trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained("baichuan-inc/baichuan-7B", device_map="auto", trust_remote_code=True)
 

python == 3.8.16

pip install -r requirements.txt 

GPU应该选择至少30G的显存。我这里一块24G卡,测试启动不稳定,显存容易溢出(可以通过修改max_new_tokens参数为64,勉强可以跑)。2块24G卡没问题。

# !/usr/bin/env python
# -*- coding:utf-8 -*-
import os
from modelscope.pipelines import pipeline
from modelscope.utils.constant import Tasks
os.environ["CUDA_VISIBLE_DEVICES"] = '4, 5'
if __name__ == '__main__':
    text_generation_zh = pipeline(task=Tasks.text_generation, model='baichuan-inc/baichuan-7B',model_revision='v1.0.2')
    text_generation_zh._model_prepare = True
    result_zh = text_generation_zh('今天天气是真的')
    print(result_zh)

模型处填写保存模型的目录路径

# !/usr/bin/env python
# -*- coding:utf-8 -*-
from flask import Flask, request, jsonify
import threading
from flask_cors import CORS
import os
from transformers import AutoModelForCausalLM, AutoTokenizer
os.environ["CUDA_VISIBLE_DEVICES"] = '4, 5'
app = Flask(__name__)
CORS(app)
# 加载模型
tokenizer = AutoTokenizer.from_pretrained("baichuan-inc/baichuan-7B", trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained("baichuan-inc/baichuan-7B", device_map="auto", trust_remote_code=True)
# 创建线程锁和计数器
lock = threading.Lock()
counter = 0
MAX_CONCURRENT_REQUESTS = 5  # 最大并发请求数
@app.route('/baichuan/conversation', methods=['POST'])
def conversation():
    global counter
    # 请求过载,返回提示信息
    if counter >= MAX_CONCURRENT_REQUESTS:
        return jsonify({'message': '请稍等再试'})
    # 获取线程锁
    with lock:
        counter += 1
    try:
        # 接收 POST 请求的数据
        question = request.json['question']
        question += '->'
        inputs = tokenizer(question, return_tensors='pt')
        inputs = inputs.to('cuda:0')
        pred = model.generate(**inputs, max_new_tokens=1024, repetition_penalty=1.1)
        text = tokenizer.decode(pred.cpu()[0], skip_special_tokens=True)
        print("result:", text)
        # 返回结果
        response = {'result': text[len(question):]}
        return jsonify(response)
    finally:
        # 释放线程锁并减少计数器
        with lock:
            counter -= 1
if __name__ == '__main__':
    print("Flask 服务器已启动")
    app.run(host='0.0.0.0', port=30908)
  • 该模型是一个文本生成模型,对话式效果较差,但是如果prompt为问答式,还是有一些效果的。如果需要对话式满足自己的需求,还是需要进行后续的fintune微调。

官方也说了:

chatgpt 等模型专门针对对话进行了微调,目前 baichuan-7B 暂时还没针对对话微调,所以不支持对话。
但目前模型是有推理能力的。
模型介绍页面已经举例用法了,如“登鹳雀楼->王之涣\n夜雨寄北->”,给定示例“登鹳雀楼->王之涣”,也就是根据诗歌名称推理作者名称,那么给定问题“夜雨寄北->”,就能够正确推理出来,作者是“李商隐”。 如果你想实现对话能力,你可以找 gpt 的公开对话数据集,自己对 baichuan-7B 进行微调。

  • 希望有更多的大佬微调出更出色的AIGC能力。
baichuan-7B 是由百川智能开发的一个开源可商用的大规模预训练语言模型。基于 Transformer 结构,在大约1.2万亿 tokens 上训练的70亿参数模型,支持中英双语,上下文窗口长度为4096。在标准的中文和英文权威 benchmark(C-EVAL/MMLU)上均取得同尺寸最好的效果。 支持微调XVERSE-13B。 开源Firefly项目多轮对话微调的firefly-chatglm2-6b。 支持微调通义千问Qwen-7B,该模型在各个中英文榜单,表现非常优异。 支持多轮对话微调ChatGLM2,比官方的训练方法更加充分高效(近期会进行源码分析)。当前微调了2500步的效果:Firefly-ChatGLM2-6B生成样例 开源firefly-llama2-13b,在Open LLM排行榜上以62分,同量级模型排名第三,比榜首略低0.5分。 开源firefly-baichuan-13b,使用一百万多轮对话数据,提升baichuan-13b的多轮对话能力。 Firefly-Baichuan-13B生成样例 开源firefly-llama-13b,在Hugging Face的Open LLM排行榜上复刻Vicuna-13B,比Vicuna-13b-1.1略高0.2分,比llams-2-13b-chat略低0.5分。 支持训练LLaMA-2、ChatGLM2、Baichuan、通义千问Qwen-7B、书生·浦语InternLM、L MOSS是复旦大学邱锡鹏团队推出的一个支持中英双语和多种插件的开源对话语言模型,moss-moon系列模型具有160亿参数,在FP16精度下可在单张A100/A800或两张3090显卡运行,在INT4/8精度下可在单张3090显卡运行。MOSS基座语言模型在约七千亿中英文以及代码单词上预训练得到,后续经过对话指令微调、插件增强学习和人类偏好训练具备多轮对话能力及使用多种插件的能力​。 下载pytorch,https://pytorch.org/,这里我们要先看一下cuda版本(nvcc --version)如果python版本为3.10,CUDA版本为11.8(下载地址:https://developer.nvidia.com/cuda-toolkit-archive,安装参考文献[3]),选择安装pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118。 2023年6月15日,搜狗创始人王小川创立的百川智能公司,发布了70 亿参数量的中英文预训练大模型——baichuan-7B。baichuan-7B 基于 Transformer 结构,在大约 1.2 万亿 tokens 上训练的 70 亿参数模型,支持中英双语,上下文窗口长度为 4096。 百川智能发布的开源中英文大模型baichuan-7B是一个基于GPT-3.5架构的预训练语言模型,拥有70亿个参数,是目前全球最大的中英文混合预训练语言模型之一。我们分析了不同分词器对语料的压缩率,如下表,可见我们的分词器明显优于 LLaMA, Falcon 等开源模型,并且对比其他中文分词器在压缩率相当的情况下,训练和推理效率更高。对于数学领域,我们参考了 LLaMA 和 Galactica 中的方案,对数字的每一位单独分开,避免出现数字不一致的问题,对于提升数学能力有重要帮助。 Baichuan-13B模型的简 Baichuan-13B 是由百川智能继Baichuan-7B之后开发的包含 130 亿参数的开源可商用的大规模语言模型,在权威的中文和英文 benchm 在同尺寸模型baichuan-7B达到了目前SOTA的水平。baichuan-7B使用自有的中英文双语语料进行训练,在中文上进行优化,在C-Eval达到SOTA水平。不同于LLaMA完全禁止商业使用,baichuan-7B使用更宽松的开源协议,允许用于商业目的。文章和示例代码开源在GitHub:GPT实战教程,了解所有主流的开源LLM。公众号:coding进阶。关注公众号可以获取最新GPT实战内容。。无忌。 基于https://huggingface.co/trillionmonster/Baichuan-13B-Chat-8bit模型 仿照chatglm2的api.py修改的,支持http调用的模型加载及服务启动脚本 需要安装 fastapi, uvicorn 与:https://blog.csdn.net/windywolf301/article/details/132062314 react-native-alibc-sdk 基于阿里百川SDK, 封装出React Native接口, 方便在RN应用中集成阿里百川SDK的各种功能。目前由于工作中不涉及这方面和时间问题,已停止维护。 淘宝登录授权 淘客参数设置 通过手淘App和H5方式打开宝贝页面、购物车页面、订单页面,添加购物车页面和Url链接, 并获取交易回调信息,实现交易闭环。 通过在react-native内嵌入WebView方式打开宝贝页面、购物车页面、订单页面,添加购物车页面和Url链接, 并获取交易回调信息,实现App内交易闭环。 进入阿里百川开发者控制台 -> 创建应用 -> 在我的产品后台开通百川电商SDK -> 在API申请开通初级电商能力和无线开放百川淘宝客 git clone cd RNAlibcSdkDemo; npm install 用xcode打开RNAlibcSdkDem 来自:吃果冻不吐果冻皮进NLP群—>加入NLP交流群baichuan-7B 主要是参考LLaMA进行的改进,且模型架构与LLaMA一致。而在开源模型中,LLaMA无疑是其中最闪亮的星,但LLaMA存在如下问题:LLaMA 原生仅支持 Latin 或 Cyrillic 语系,只使用了少量中文数据集进行训练,因此,对于中文支持不是特别理想。原版LLaMA模型的词表大小是32K,仅有少量中文词,...