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

  • 看微博营销怎样打造小品牌名气(看微博营销怎样回复)

    看微博营销怎样打造小品牌名气(看微博营销怎样回复)

  • 单反镜头焦距怎么选(单反镜头焦距)(单反镜头的焦距怎么算)

    单反镜头焦距怎么选(单反镜头焦距)(单反镜头的焦距怎么算)

  • word文档打印不全怎么调整(word文档打印不显示页码)

    word文档打印不全怎么调整(word文档打印不显示页码)

  • 苹果13能刷门禁卡吗(苹果13可以刷门禁卡吗)

    苹果13能刷门禁卡吗(苹果13可以刷门禁卡吗)

  • OPPO手机怎么设置儿童使用时间(oppo手机怎么设置锁屏密码)

    OPPO手机怎么设置儿童使用时间(oppo手机怎么设置锁屏密码)

  • 微信好友删除怎么找回(微信好友删除怎么看聊天记录)

    微信好友删除怎么找回(微信好友删除怎么看聊天记录)

  • 第四代计算机问世是于哪一年(第四代计算机问世是在几十年代初)

    第四代计算机问世是于哪一年(第四代计算机问世是在几十年代初)

  • dn开头的苹果是哪里的(dn开头的苹果是国行的吗)

    dn开头的苹果是哪里的(dn开头的苹果是国行的吗)

  • xs边框刮花处理方法(手机边框掉漆怎么办)

    xs边框刮花处理方法(手机边框掉漆怎么办)

  • 支付宝如何注销账号(支付宝如何注销etc设备)

    支付宝如何注销账号(支付宝如何注销etc设备)

  • 怎样恢复无线网络图标(怎样恢复无线网络设置)

    怎样恢复无线网络图标(怎样恢复无线网络设置)

  • 电脑锁屏后怎么唤醒(电脑锁屏后怎么唤醒屏幕)

    电脑锁屏后怎么唤醒(电脑锁屏后怎么唤醒屏幕)

  • xmax为什么手机老是发烫(苹果x max手机)

    xmax为什么手机老是发烫(苹果x max手机)

  • mcafee webadvisor可以卸载吗

    mcafee webadvisor可以卸载吗

  • usb fdd什么意思(usbfdd是什么意思啊)

    usb fdd什么意思(usbfdd是什么意思啊)

  • 华为p40隐私空间怎么设置(华为P40隐私空间入口隐藏了找不到了)

    华为p40隐私空间怎么设置(华为P40隐私空间入口隐藏了找不到了)

  • 错误代码-7是什么意思(错误代码 7详细原因 netnet)

    错误代码-7是什么意思(错误代码 7详细原因 netnet)

  • 表格粘贴怎么保持原样(表格粘贴怎么保持原格式大小不变)

    表格粘贴怎么保持原样(表格粘贴怎么保持原格式大小不变)

  • 电脑腾讯会议录屏(电脑腾讯会议录制没有声音怎么解决)

    电脑腾讯会议录屏(电脑腾讯会议录制没有声音怎么解决)

  • 朋友圈评论怎么配图(朋友圈评论怎么@别人)

    朋友圈评论怎么配图(朋友圈评论怎么@别人)

  • 怎么添加文本框(秀米怎么添加文本框)

    怎么添加文本框(秀米怎么添加文本框)

  • ps图层解锁快捷键(photoshop图层解锁快捷键)

    ps图层解锁快捷键(photoshop图层解锁快捷键)

  • 为什么微信摇一摇都是假人(为什么微信摇一摇不能摇了)

    为什么微信摇一摇都是假人(为什么微信摇一摇不能摇了)

  • 手机酷狗录歌保存在哪(手机酷狗录歌保存不了)

    手机酷狗录歌保存在哪(手机酷狗录歌保存不了)

  • 在win7中,为什么清空回收站后还是满状态?(win7为什么现在不能用了)

    在win7中,为什么清空回收站后还是满状态?(win7为什么现在不能用了)

  • 如何在苹果电脑上使用淘宝旺旺购买商品(如何在苹果电脑上删除软件)

    如何在苹果电脑上使用淘宝旺旺购买商品(如何在苹果电脑上删除软件)

  • linux下普通文件和目录文件区别详解(.linux文件)

    linux下普通文件和目录文件区别详解(.linux文件)

  • 路由器怎么选择连接模式?选择MW300RM路由器模式的方法(穿墙路由器怎么选择)

    路由器怎么选择连接模式?选择MW300RM路由器模式的方法(穿墙路由器怎么选择)

  • 【面试题】面试官: Vue如何实现权限管理?(面试题集锦)

    【面试题】面试官: Vue如何实现权限管理?(面试题集锦)

  • 税金及附加怎么记忆
  • 个税专项附加继续教育
  • 资产减值损失影响利润吗
  • 季度所得税申报表里的营业收入是什么?
  • 冲红的发票要拿回来吗
  • 滴滴的普票可以抵税吗
  • 动漫产业增值税优惠政策
  • 内部企业借款利息在建工程资本化
  • 新会计准则要求
  • 外购机器设备
  • 无形资产和固定资产计提折旧的时间
  • 企业如何增加净资产
  • 企业所得税多交了必须退税吗
  • 预付股权转让款如何处理
  • 车间办公费计入什么会计科目
  • 城市维护建设税税率
  • 应付职工薪酬科目的应用
  • 坏账减值准备账务处理
  • 旅行社差额征税税率5%
  • windows中的网络协议的配置原理
  • 电脑删文件需要授权
  • 最新早上好图片大全集
  • 应收账款的差额计入哪里
  • 广告制作费属于劳务还是服务
  • 怎么更新电脑系统win10
  • php utf8转gb2312
  • 上月开的发票会计漏做帐,本月应如何补做账?
  • 房地产企业怎么结转成本
  • 商品从总仓到分拣要多久
  • 那些收入不用缴税
  • 收入成本科目
  • 结算应付职工薪酬怎么算
  • 专业初审
  • 购买了金税盘以后怎么使用
  • 有趣的html简单代码
  • springboot自动配置的注解
  • 弥补以前年度亏损报表怎么填
  • 业务招待费能计入成本吗
  • 新注册的小公司要登记社保吗
  • 在发票上盖了公章有用吗
  • 期初库存和期末库存可以修改吗
  • 劳务外经证预缴税款
  • sqlserver2008数据库定时备份
  • 投资管理公司成立的请示范文
  • 接受母公司捐赠现金分录
  • 2020年防洪基金计算公式
  • 原材料当废品卖可以吗
  • 暂估固定资产的账务处理
  • 计提员工工资是什么意思
  • 企业存货计价方法发生变更案例
  • 去年的进项发票今年怎么入账
  • 各单位应当根据需要设立专职或者兼职
  • centos编译器
  • win7系统怎么更新到win10
  • XP系统怎么调节屏幕亮度
  • mmc无法创建管理单元win10
  • win7电脑磁盘空间不足清理步骤
  • centos部署tomcat配置
  • win8 开机
  • Windows XP用户账户控制
  • demon.exe是什么
  • mac怎么批量删除qq好友
  • mac怎么连接打印机设备
  • naimag32.exe - naimag32是什么进程 有什么用
  • win7系统如何将插孔设置为ac97前面板
  • w7开机界面
  • cocos 3.x android下home键后,切回游戏时黑屏太久的问题
  • js如何创建类
  • 删除cmd命令记录
  • nodejs客户端程序开发
  • nodejs来一打c++扩展
  • 正则表达式/a/g
  • js selectionchange
  • JavaScript中Date.toSource()方法的使用教程
  • jQuery simplePage+AJAX plus分页插件用法实例
  • jquery将文本框设置为只读
  • shell python
  • 浙江增值税电子普通发票用支付宝怎么开
  • 财税公司工资怎么样
  • 城市土地使用税计税依据
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设