位置: 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)

  • vivo s7有防水功能吗(vivos7e防水吗)

    vivo s7有防水功能吗(vivos7e防水吗)

  • 剪映如何读出字幕(剪映中如何读出文字)

    剪映如何读出字幕(剪映中如何读出文字)

  • QQ怎么邀请朋友进群(qq怎样邀请好友)

    QQ怎么邀请朋友进群(qq怎样邀请好友)

  • 华为手机开机出现绿色机器人(查找我的华为手机)

    华为手机开机出现绿色机器人(查找我的华为手机)

  • 5g基站设备组成(5g基站设备组成部分)

    5g基站设备组成(5g基站设备组成部分)

  • 快手怎么举报人(快手怎么举报人他给我私信发不好的图片我怎么举报他)

    快手怎么举报人(快手怎么举报人他给我私信发不好的图片我怎么举报他)

  • wifi桥接会影响网速吗(wifi桥接会影响主路由器吗)

    wifi桥接会影响网速吗(wifi桥接会影响主路由器吗)

  • 安卓微信可以夜间模式吗(安卓微信可以夜视拍摄吗)

    安卓微信可以夜间模式吗(安卓微信可以夜视拍摄吗)

  • 苹果动态屏保有声音吗(苹果动态屏保有什么用处)

    苹果动态屏保有声音吗(苹果动态屏保有什么用处)

  • 快手极速版绑定手机号安全吗(快手极速版绑定微信安全吗?)

    快手极速版绑定手机号安全吗(快手极速版绑定微信安全吗?)

  • macbook air咋删照片(macbookair怎么删除相册照片)

    macbook air咋删照片(macbookair怎么删除相册照片)

  • 分辨率300dpi什么意思(分辨率300dpi是英寸还是厘米)

    分辨率300dpi什么意思(分辨率300dpi是英寸还是厘米)

  • 苹果11pro支持5G吗(苹果11pro支持5g不)

    苹果11pro支持5G吗(苹果11pro支持5g不)

  • 探探怎么删除已暗恋的(探探怎么删除已发的照片)

    探探怎么删除已暗恋的(探探怎么删除已发的照片)

  • 抖音视频怎么顶置(怎么在抖音上传视频)

    抖音视频怎么顶置(怎么在抖音上传视频)

  • 陌陌怎么不能视频了(陌陌怎么不能视频显示时间太短)

    陌陌怎么不能视频了(陌陌怎么不能视频显示时间太短)

  • v1814a是vivo什么型号(vivo v1818a是什么手机)

    v1814a是vivo什么型号(vivo v1818a是什么手机)

  • 红米note7pro上市时间(2021年红米note7pro)

    红米note7pro上市时间(2021年红米note7pro)

  • s10充电功率(三星s10充电功率)

    s10充电功率(三星s10充电功率)

  • 系统System进程占用CPU过高怎么处理?(system进程占用cpu突然变高)

    系统System进程占用CPU过高怎么处理?(system进程占用cpu突然变高)

  • 电脑管家游戏加速功能是什么?(电脑管家游戏加速怎么卸载)

    电脑管家游戏加速功能是什么?(电脑管家游戏加速怎么卸载)

  • 阿圭罗村庄, 韦斯卡, 西班牙 (© Francesco Carovillano/eStock)(阿圭罗来自哪里)

    阿圭罗村庄, 韦斯卡, 西班牙 (© Francesco Carovillano/eStock)(阿圭罗来自哪里)

  • AI - AI绘画的精准控图(ControlNet)(ai绘画图片)

    AI - AI绘画的精准控图(ControlNet)(ai绘画图片)

  • 前端基础:HTML(前端基础知识总结)

    前端基础:HTML(前端基础知识总结)

  • 发票没有申报能开票吗
  • 加计扣除要交所得税嘛
  • 未发货先开票怎么办
  • 初始余额录入时需要录入什么
  • 发生费用是什么意思
  • 冲销暂估入账原材料的会计分录
  • 工程项目垃圾清运项目编码
  • 托收承付销售货物什么意思
  • 贸易类公司所得税核定征收税率是多少?
  • 开出的发票什么情况下需要补税?
  • 国有企业出租房屋管理规定
  • 销项负数发票与红字发票
  • 哪些费用税务局可以抵扣
  • 被强制升为一般纳税人的条件
  • 电子税务局财报怎么报
  • 护建设税和教育费附加?
  • 应交税费已交税金借方有余额
  • 汽车零部件的成本核算
  • 什么是毛利润和纯利润
  • 超市一般纳税人账务处理
  • php获取图片
  • window10与CentOS双系统安装详细教程
  • 使用过的固定资产出售,怎么处理
  • 出售报废的边角料收入会计分录
  • 会计分录编制的步骤
  • win7安装高版本chrome
  • 出口货物视同内销征税的会计核算
  • php strftime
  • chormedriver安装
  • PHP:imagecolorset()的用法_GD库图像处理函数
  • 圣何塞在哪
  • php单例模式例子
  • php curl_init
  • 广播影视服务需要许可证吗
  • 深度学习实战(十):使用 PyTorch 进行 3D 医学图像分割
  • CV攻城狮入门VIT(vision transformer)之旅——VIT原理详解篇
  • println参数
  • 其他非流动资产是会计科目吗
  • 公司的钱借给个人必须要有利息吗
  • 附表一般写在哪
  • 链表的优缺点有哪些
  • phpcms生成html
  • java对象内存大小计算
  • 企业卖地收入会计处理
  • 加油的电子发票在哪里找
  • SqlServer2012中First_Value函数简单分析
  • sql server数据库设置定时任务
  • 收据所得税前扣除
  • 短期借款的核算
  • 用留存收益筹资为什么没有占用费
  • 固定资产采购需要走什么流程
  • 预付账款的账务处理视频教程
  • 以前年度不合规发票如何调年报
  • 固定资产卡片项目的数据类型包括
  • 财务费用和应付利息都在借方
  • 老会计带新手教学真账实操
  • 账面价值,账面净值,账面余额三者的区别
  • 商业企业批发商是什么
  • 存储过程失效怎么办
  • win8.1怎么改win7系统
  • linux 磁盘使用
  • centos8终端
  • autorun.inf在win10
  • 电脑系统重装win8
  • diskmakerx制作u盘需要多久
  • 如何检测电脑能否上网
  • win7系统安装软件乱码
  • linux常用命令grep
  • 如何关闭win8自带杀毒
  • cocos2dx4.0教程
  • c#7.0新语法
  • wc -l命令
  • unity xcode
  • dom 和bom
  • 2016年最火的歌曲排行榜前十名
  • jquery 树结构
  • python re模块findall
  • jquery的form方法
  • 深圳前海地铁站几号线
  • 个税申报网上操作步骤
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设