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

  • 云吧充电宝怎么计费的(云吧充电宝怎么用)

    云吧充电宝怎么计费的(云吧充电宝怎么用)

  • b站会员几个人同时登录(b站会员几个人用)

    b站会员几个人同时登录(b站会员几个人用)

  • 华为p40手电筒快捷键是什么

    华为p40手电筒快捷键是什么

  • 数据通信的系统模型由哪三部分组成(数据通信的系统模型由数据源什么数据数三部分组成)

    数据通信的系统模型由哪三部分组成(数据通信的系统模型由数据源什么数据数三部分组成)

  • 淘宝昵称只能改一次吗(淘宝昵称改不了吗)

    淘宝昵称只能改一次吗(淘宝昵称改不了吗)

  • 华为p40有反向充电吗(华为p40有反向充电改不了怎么办)

    华为p40有反向充电吗(华为p40有反向充电改不了怎么办)

  • wpsystem是什么文件夹(wps是什么文件类型)

    wpsystem是什么文件夹(wps是什么文件类型)

  • 为什么流量卡网速慢(为什么流量卡网速慢怎么解决)

    为什么流量卡网速慢(为什么流量卡网速慢怎么解决)

  • 手机号导入的包裹是什么东西(手机号导入的包裹怎么查)

    手机号导入的包裹是什么东西(手机号导入的包裹怎么查)

  • 全民k歌耳返听不到(全民K歌耳返听不到声音)

    全民k歌耳返听不到(全民K歌耳返听不到声音)

  • 荣耀20S为什么没有NFC功能(荣耀20s为什么没耳机孔)

    荣耀20S为什么没有NFC功能(荣耀20s为什么没耳机孔)

  • 微信投诉群群主可以看见吗(微信投诉群群主会怎么样)

    微信投诉群群主可以看见吗(微信投诉群群主会怎么样)

  • 苹果手机怎么关闭icloud照片备份(苹果手机怎么关闭自动续费)

    苹果手机怎么关闭icloud照片备份(苹果手机怎么关闭自动续费)

  • vivo手机怎么固定屏幕(vivo手机怎么设置桌面壁纸)

    vivo手机怎么固定屏幕(vivo手机怎么设置桌面壁纸)

  • 手机怎样重置应用程序(手机如何重置应用)

    手机怎样重置应用程序(手机如何重置应用)

  • xr怎么设置以前的苹果铃声(苹果xr手机设置)

    xr怎么设置以前的苹果铃声(苹果xr手机设置)

  • 苹果来电声音小怎么回事(苹果来电声音小是哪里坏了)

    苹果来电声音小怎么回事(苹果来电声音小是哪里坏了)

  • 剪映怎么自动添加歌词(剪映怎么自动添加转场)

    剪映怎么自动添加歌词(剪映怎么自动添加转场)

  • 微信群如何突破500人限制(微信群如何突破人数限制)

    微信群如何突破500人限制(微信群如何突破人数限制)

  • 桌面怎不显示未接电话(电脑未显示桌面的软件在哪)

    桌面怎不显示未接电话(电脑未显示桌面的软件在哪)

  • 华为高清通话怎么关闭(华为高清通话怎么没有)

    华为高清通话怎么关闭(华为高清通话怎么没有)

  • 手机触摸屏乱跳(手机触摸屏乱跳,怎么办?再测如丝般顺滑)

    手机触摸屏乱跳(手机触摸屏乱跳,怎么办?再测如丝般顺滑)

  • 如何使用excel画曲线图(如何使用excel画二极管元件伏安特性曲线图)

    如何使用excel画曲线图(如何使用excel画二极管元件伏安特性曲线图)

  • Vue--》探索Pinia:Vue状态管理的未来(vue .find)

    Vue--》探索Pinia:Vue状态管理的未来(vue .find)

  • 2021城建税
  • 现金流量表中的销售商品提供劳务收到的现金
  • 税申报后未交款是否可撤销?
  • 一般纳税人废业怎么办
  • 购买业务委托书计入什么科目
  • 环保设备折旧年限和残值率
  • 自建厂房出售如何计算所得税
  • 长期借款账务处理会计分录例题
  • 企业买电动车做资产如何做折旧?
  • 员工替公司垫付的费用还没有报销就被开除了
  • 电话费开专票可抵扣吗
  • 关于金融行业的经典句子
  • 个税免税收入填错了怎么办
  • 重置申报清册之前的税需要重新申报吗
  • 政府高薪补贴
  • 备抵法计提坏账准备的公式
  • 折旧计算方法举例
  • 网络适配器感叹号代码43
  • 奖励先进个人计划怎么写
  • 什么情况下可以认定为工伤
  • 苹果手机无法加入WiFi
  • 家里的无线网连着连着就断了
  • php 数组对象
  • 局域网游戏电脑
  • 在途物资退货会退款吗
  • 固定资产残料收税吗
  • 应付账款盘盈会计分录
  • 如何确定销售数量
  • 企业所得税征收方式有哪些?
  • 不发放工资怎么办
  • php中\n
  • php过滤字符
  • 坏账准备账务处理程序
  • vue全家桶教程
  • 企业计提增值税的会计科目
  • 哪些税费可以抵扣
  • 发票报销是个人还是单位
  • python 进程管理
  • phpcms验证码不显示
  • 税务维护费抵扣分录
  • 上年所得税费用借方有余额,怎么调整
  • 小规模纳税人的税率是多少
  • 预算外财政支出
  • 固定资产折旧会影响净利润吗
  • 有限合伙企业成本费用抵扣
  • 租房合同 陷阱
  • 长期股权投资评估增值调整
  • 非独立核算增值税汇总缴纳吗
  • 简易计税方法适用什么服务
  • 包工包料工程如何报价合理
  • 工程量应当按照什么计算
  • 火车票退票改签手续费
  • 去年亏损今年盈利怎么弥补
  • 工业企业会计与管理论文
  • 总公司是一般纳税人分公司是什么
  • 什么是企业合并?
  • 原始凭证基本要求是什么
  • 企业成立前期的重点工作
  • 通过T_sql语句向其中一次填入一条数据或一次填入多条数据的方式填充数据
  • mysql字段名可以用中文吗
  • navicate创建存储过程
  • mac复制文件路径后怎么粘贴
  • 创建svn库
  • 2016年最火的歌曲排行前100首
  • 怎样取消进windows 密码
  • win8屏幕键盘快捷键
  • hookproxy.dll
  • windows8咋关机
  • win7共享打印机提示0x000709
  • css回到页面顶部
  • window.requestAnimationFrame是什么意思,怎么用
  • android开发吧
  • jquery attribute
  • 新中国税务历史
  • 电子发票查询平台电话
  • 新疆税务局网站官网首页
  • 新疆12366网上办税
  • 一个人可以申请
  • 财税[2020]25号
  • 公寓土地增值税怎么算
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设