位置: IT常识 - 正文

轻松玩转开源大语言模型bloom(一)(开源dap)

编辑:rootadmin
轻松玩转开源大语言模型bloom(一) 前言

推荐整理分享轻松玩转开源大语言模型bloom(一)(开源dap),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:开源datav,开源datav,开源大佬,开源datav,开源 dashboard,开源dap,开源dap,开源daw,内容如对您有帮助,希望把文章链接给更多的朋友!

chatgpt已经成为了当下热门,github首页的trending排行榜上天天都有它的相关项目,但背后隐藏的却是openai公司提供的api收费服务。作为一名开源爱好者,我非常不喜欢知识付费或者服务收费的理念,所以便有决心写下此系列,让一般大众们可以不付费的玩转当下比较新的开源大语言模型bloom及其问答系列模型bloomz。那么废话不多说,本篇将介绍如何在个人电脑上简单的使用bloom模型生成句子。

模型介绍

bloom是一个开源的支持最多59种语言和176B参数的大语言模型。它是在Megatron-LM GPT2的基础上修改训练出来的,主要使用了解码器唯一结构,对词嵌入层的归一化,使用GeLU激活函数的线性偏差注意力位置编码等技术。它的训练集包含了45种自然语言和12种编程语言,1.5TB的预处理文本转化为了350B的唯一token。bigscience在hugging face上发布的bloom模型包含多个参数多个版本,本文中出于让大家都能动手实践的考虑,选择最小号的bloom-1b1版本,其他模型请自行尝试。

环境准备

python版本最好是3.8及以上,因为项目都会逐渐对老版本python停止支持,可能找不到现成的wheel包从而需要自己编译,而windows下需要使用VS,那是个相当痛苦的过程。

推荐pip原生虚拟环境安装,不推荐conda虚拟环境。本文的安装方法都是基于pip,如果你不懂pip虚拟环境请运行以下命令(linux如果有python2,请运行pip3):

pip install virtualenv -i https://mirror.baidu.com/pypi/simple #安装虚拟环境包python -m venv bloom #在当前目录创建名叫bloom的虚拟环境

创建完后如何启动: 先一路cd到根目录,即脚本文件夹所在目录,然后cd进去activate。

cd Scriptsactivate

比如我这里是名叫gpt-ch的环境:

轻松玩转开源大语言模型bloom(一)(开源dap)

输完后这样就表示启动成功了,所有的命令都会在隔离环境里运行,安装的包也都会在gpt-ch/Lib/site-packages里:

安装pip包

如果只用cpu进行推理,只需要安装以下包:

pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cpupip install transformers -i https://mirror.baidu.com/pypi/simple

如果你想用英伟达gpu进行推理,请自行安装gpu版的torch。这里提供wheel下载链接: 记得torch和torchvision的版本是需要对应的,然后这里默认你已经安装配置好了cuda路径,如果没有请看我之前的文章或者去网上查。 以我这里的cu117版本为例。 运行以下命令:

pip install torch-1.13.0+cu117-cp39-cp39-win_amd64.whl #自行更改文件名pip install torchvision-0.14.0+cu117-cp39-cp39-win_amd64.whl #自行更改文件名pip install transformers -i https://mirror.baidu.com/pypi/simplepip install accelerate -i https://mirror.baidu.com/pypi/simple模型下载

首先请编写以下代码保存运行:

from transformers import AutoModelForCausalLM, AutoTokenizercheckpoint = "bigscience/bloom-1b1" #1b1,可改名成你想要的更大的模型tokenizer = AutoTokenizer.from_pretrained(checkpoint) #下载模型的tokenizermodel = AutoModelForCausalLM.from_pretrained(checkpoint) #下载模型

网速足够快的情况下等一会就下载好了,但通常情况下我们得ctrl+c打断代码运行,手动下载模型存放到对应位置,即.cache\huggingface\hub\models–bigscience–bloom-1b1下。 如果你是windows,那么这个cache文件夹默认会创建在C:\Users\Administrator\下。 如果你是linux,你使用了root权限,会在root文件夹下创建,如果是普通用户权限,则会在对应名称的普通用户目录下,此外该文件夹在linux中默认为隐藏文件夹,需打开权限查看。 下载模型地址 把如上图所示链接中的五个文件(不包含这个flax_model.msgpack)下载下来放进自己的本地目录下的snapshots\一串数字(如下图所示)即可,其他文件夹都不用管。

生成第一段话

万事准备就绪后,就可以开始愉快的游玩了,运行以下代码:

from transformers import AutoModelForCausalLM, AutoTokenizerimport timea1 = time.time()checkpoint = "bigscience/bloom-1b1"tokenizer = AutoTokenizer.from_pretrained(checkpoint)model = AutoModelForCausalLM.from_pretrained(checkpoint)inputs = tokenizer.encode("奋进在不可逆转的复兴进程上", return_tensors="pt") #promptoutputs = model.generate(inputs,min_length=150,max_new_tokens=200,do_sample=True)print(tokenizer.decode(outputs[0])) #使用tokenizer对生成结果进行解码a2 = time.time()print(f'time cost is {a2 - a1} s')

time模块用来计时,我的是十二代i7,花了40s生成。 这里有一些生成时的参数需要讲解一下: min_length是指最小生成长度,等于你输入的提示词+最小生成的token数,也就是input_length+min_new_tokens。 max_new_tokens规定了最大生成的token数目,这里的token你可以理解为一个词,不好翻译所以一律token,忽略你输入的prompt。与之相关的是max_length参数,其实max_length就是max_new_tokens+你输入的prompt长度。 do_sample=True表示进行抽样,否则会使用贪心解码策略。

生成以下结果:

效果如何?是觉得不如人意还是效果逼真呢?

下期我们将尝试各种解码策略生成不一样的结果并进行比较,看到这里的朋友们可以点个关注,我们下期再见。

本文链接地址:https://www.jiuchutong.com/zhishi/298950.html 转载请保留说明!

上一篇:Vue3通透教程【一】Vue3现状—必然趋势?

下一篇:【JavaScript】五个常用功能/案例:判断特定结尾字符串 | 获取指定字符串 | 颜色字符串转换 | 字符串转驼峰格式 | 简易购物车(javascripts)

  • vivox70pro无线充电怎么打开(vivox70pro无线充电怎么充)

    vivox70pro无线充电怎么打开(vivox70pro无线充电怎么充)

  • 三星s9充电显示水滴(三星s9充电显示感叹号 一个水滴)

    三星s9充电显示水滴(三星s9充电显示感叹号 一个水滴)

  • 苹果xr经常接不到电话(苹果xr经常接不了电话)

    苹果xr经常接不到电话(苹果xr经常接不了电话)

  • 微信两个安卓手机怎么定位(两个微信 安卓)

    微信两个安卓手机怎么定位(两个微信 安卓)

  • 手机斗鱼有夜间模式吗(斗鱼怎么开夜间)

    手机斗鱼有夜间模式吗(斗鱼怎么开夜间)

  • 移动手机号欠费多久会销号(移动手机号欠费停机会影响征信吗)

    移动手机号欠费多久会销号(移动手机号欠费停机会影响征信吗)

  • 云台fm是什么意思(播放云台)

    云台fm是什么意思(播放云台)

  • x23组装和原装差别(x27组装屏跟原装屏的区别)

    x23组装和原装差别(x27组装屏跟原装屏的区别)

  • 快手作品怎么显示无作品(快手作品怎么显示自己的原声)

    快手作品怎么显示无作品(快手作品怎么显示自己的原声)

  • 苹果手机来电图片怎么设置全屏(苹果手机来电图标)

    苹果手机来电图片怎么设置全屏(苹果手机来电图标)

  • 苹果闪烁灯在哪里设置(iphone闪烁灯在哪)

    苹果闪烁灯在哪里设置(iphone闪烁灯在哪)

  • 苹果7p有人像模式吗(iphone7有人像模式)

    苹果7p有人像模式吗(iphone7有人像模式)

  • bm37是小米几的电池(bm49是小米中哪一款)

    bm37是小米几的电池(bm49是小米中哪一款)

  • 红米手机开不开机怎么回事(红米手机开不开机怎么办?自己如何修理?)

    红米手机开不开机怎么回事(红米手机开不开机怎么办?自己如何修理?)

  • 喵喵机卡纸怎么办(喵喵机纸出不来怎么办)

    喵喵机卡纸怎么办(喵喵机纸出不来怎么办)

  • 如何关闭自动扣费功能(如何关闭自动扣费支付宝)

    如何关闭自动扣费功能(如何关闭自动扣费支付宝)

  • 格式工厂怎么剪掉视频(格式工厂怎么剪辑视频画面的一部分)

    格式工厂怎么剪掉视频(格式工厂怎么剪辑视频画面的一部分)

  • 佳能90d是全画幅吗(佳能90d相机价格)

    佳能90d是全画幅吗(佳能90d相机价格)

  • 探探购买会员支付失败(探探买会员是不是真的)

    探探购买会员支付失败(探探买会员是不是真的)

  • 微博有夜间模式吗(微博有夜间模式吗安卓)

    微博有夜间模式吗(微博有夜间模式吗安卓)

  • 手机扩容是什么意思(手机扩容是什么意思 手机扩容相关知识介绍)

    手机扩容是什么意思(手机扩容是什么意思 手机扩容相关知识介绍)

  • 华为nova5耳机孔在哪(华为nova9耳机孔在哪里)

    华为nova5耳机孔在哪(华为nova9耳机孔在哪里)

  • vivoy93的语音助手在哪里(vivoy3手机语音助手)

    vivoy93的语音助手在哪里(vivoy3手机语音助手)

  • MAC装Windows时键盘失灵的两种解决方法(mac安装windows不能用键盘)

    MAC装Windows时键盘失灵的两种解决方法(mac安装windows不能用键盘)

  • 年末发票
  • 白条技巧
  • 小企业如何做帐
  • 装水表财务是什么费用
  • 新政府会计制度下属于负债类科目的是
  • 小规模无票收入填在哪一栏
  • 拖欠安装费
  • 签章是签字还是盖章 财务
  • 定期定额纳税申报表是个人所得税吗
  • 增值税发票验证
  • 通信服务费包括哪些
  • 应交税费减免税款
  • 出口转内销增值税报表怎么填
  • 定金不买了可以退吗
  • 支付短期借款计入什么科目
  • 财产清查的种类有哪些
  • 个人所得税申报是什么意思?
  • 电子商务平台支付的区别
  • 水利基金减免政策2022
  • 土地契税及印花税缴纳规定
  • 做账计入收入没有结转成本怎么做账?
  • 没有生产产品,费用怎么结转
  • 一般纳税人库存商品怎么做分录
  • 法人借款可以做到短期借款吗
  • 维修费属于印花税
  • 汇算清缴发票可以做费用票吗
  • 利润表里的营业成本包括哪些
  • 技术服务费进项发票怎么做分录
  • 关于积分的三种账务处理方法
  • php 多维数组转换成字符串
  • 本期用于购建不动产的扣税凭证怎么填
  • 营改增后哪些费用可以抵扣
  • php教程 ftp 函数
  • 企业年金基金收益
  • 支付给代理机构的手续费计入
  • 在白雪覆盖的地方 什么歌
  • 阿里云 ide
  • 酒类销售企业广告宣传语
  • 完美解决在ThinkPHP控制器中命名空间的问题
  • javaweb入门简单小项目
  • vue发布时间
  • 二挡起步教程
  • 2021市场发展
  • zend框架教程
  • 国际货运代理公司个人货物
  • 在职工教育经费包括哪些
  • 房地产开发企业的了解概述
  • 旅游景点的门票能做费用吗
  • opengl开发图形界面
  • 织梦怎么建站
  • 厂房出租一年多少钱
  • 物业费的税可以抵扣吗
  • asp 数据库
  • 最新个人捐款是什么意思
  • 固定资产后续支出
  • 服务费发票的税率
  • 进项发票还未收到可以认证吗
  • 建筑安装业经营范围
  • 增值税留抵情况下要交流转税吗
  • 公司贷款直接打收据吗
  • mysql查询条件不区分大小写
  • sqlserver的case 用法
  • win7系统如何查看文件扩展名
  • win8局域网共享设置
  • sar 命令
  • fedora phpMyAdmin 安装方法及介绍
  • RedHat 9.0下Apache+PHP+MySQL服务器安装配置
  • 此电脑右键
  • win7怎么运行itunes
  • window10的ie
  • win10任务栏跳来跳去
  • Unity3d_NGUI和UGUI的学习
  • perl -i -pe
  • JavaScript的21条基本知识点
  • jquery 日期
  • JavaScript中Number.MIN_VALUE属性的使用示例
  • 武汉 税务局
  • 车船税的缴纳证明是什么意思?
  • 保税工厂和非保税工厂的区别
  • 青岛网上申请个体工商户
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设