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

  • 拼多多勋章在哪看(拼多多的勋章是什么意思)

    拼多多勋章在哪看(拼多多的勋章是什么意思)

  • iphone突然重启(iPhone突然重启没电了充不进)

    iphone突然重启(iPhone突然重启没电了充不进)

  • 华为怎么删除流量记录(华为怎么删除流量使用情况)

    华为怎么删除流量记录(华为怎么删除流量使用情况)

  • 淘宝怎么删评价

    淘宝怎么删评价

  • 台式电脑屏保快捷键是哪个(台式电脑屏幕保护快捷键)

    台式电脑屏保快捷键是哪个(台式电脑屏幕保护快捷键)

  • mini5电池容量多少毫安(mini5电池耐用吗)

    mini5电池容量多少毫安(mini5电池耐用吗)

  • 企业微信为什么进不去(企业微信为什么会封号)

    企业微信为什么进不去(企业微信为什么会封号)

  • nfc模式是什么意思啊(nfc/nfc模式是什么意思)

    nfc模式是什么意思啊(nfc/nfc模式是什么意思)

  • 芯片eda是什么意思(芯片eda是什么意思呀)

    芯片eda是什么意思(芯片eda是什么意思呀)

  • 微信朋友圈有提示音吗(微信朋友圈有提示但没有看到)

    微信朋友圈有提示音吗(微信朋友圈有提示但没有看到)

  • 抖音怎么设置自己的位置(抖音怎么设置自己不在线)

    抖音怎么设置自己的位置(抖音怎么设置自己不在线)

  • 手机4ghd是什么意思(手机卡4ghd什么意思)

    手机4ghd是什么意思(手机卡4ghd什么意思)

  • 设为私密照片在哪里找(设为私密的照片从哪儿看)

    设为私密照片在哪里找(设为私密的照片从哪儿看)

  • 存储器有哪两种(存储器有哪两种存储方式)

    存储器有哪两种(存储器有哪两种存储方式)

  • iphone怎么分辨国行(苹果手机如何分辨国行)

    iphone怎么分辨国行(苹果手机如何分辨国行)

  • 苹果软件下载不了怎么回事(苹果软件下载不了一直转圈)

    苹果软件下载不了怎么回事(苹果软件下载不了一直转圈)

  • 手机怎样建qq群(手机建qq群怎么建群)

    手机怎样建qq群(手机建qq群怎么建群)

  • 苹果无线耳机怎么接听电话(苹果无线耳机怎么充电是正确的)

    苹果无线耳机怎么接听电话(苹果无线耳机怎么充电是正确的)

  • 荣耀20怎么开启breeno(荣耀20怎么开启两个系统)

    荣耀20怎么开启breeno(荣耀20怎么开启两个系统)

  • 小米8怎么增强网络信号(小米8怎么增强信号)

    小米8怎么增强网络信号(小米8怎么增强信号)

  • 文件已过期如何恢复(文件已过期如何处理找回)

    文件已过期如何恢复(文件已过期如何处理找回)

  • 华为手环3怎么连接手机(华为手环3怎么调时间和日期)

    华为手环3怎么连接手机(华为手环3怎么调时间和日期)

  • 拼多多极速退款的条件(拼多多极速退款是什么意思)

    拼多多极速退款的条件(拼多多极速退款是什么意思)

  • siri耗电吗(siri耗电多吗)

    siri耗电吗(siri耗电多吗)

  • 7p手机发热(7p手机发热是正常的么)

    7p手机发热(7p手机发热是正常的么)

  • 水印相机打卡怎么修改(水印相机打卡怎么修改时间和日期位置)

    水印相机打卡怎么修改(水印相机打卡怎么修改时间和日期位置)

  • Echarts:简单词云图实现(echarts.)

    Echarts:简单词云图实现(echarts.)

  • 核定征收的一般纳税人开专票怎么入账
  • 应交税费转营业外支出
  • 支付证明单算附件吗
  • 退回多交城建税税金会计分录
  • 企业所得税期初资产总额怎么填写
  • 没有发票的房租如何入账
  • 出差怎么订机票
  • 企业采购哪些品类
  • 哪些依据属于会计凭证
  • 结算金额大于合同金额
  • 买机票返钱
  • 采购工程物资会议纪要
  • 增值税征收比例和征收方式
  • 报废固定资产增值税税率
  • 个体工商户投资者减除费用
  • 建房子的公司
  • 什么叫统借统还业务
  • 房租的应收必须交吗
  • 收到未到期的银行承兑汇票会计分录
  • 应收账款的借方负数表示什么
  • 对公回单必须在银行开吗
  • 电脑隐藏软件图标快捷键
  • 水土保持补偿费是一次性征收吗
  • 单位外币账户
  • 苹果手机记事本提醒如何设置
  • 电脑网页播放视频只有声音没有画面
  • bios里头没有usb功能怎办
  • 无法访问您可能的网络
  • 前期差错更正怎么计算
  • 外资企业如何
  • 单位和个人交付的区别
  • 一维卷积padding
  • 比斯蒂荒野上的“外星孵化场”,新墨西哥州 (© Ian Shive/Tandem Stills + Motion)
  • 法人提取备用金多久归还
  • 建筑业挂靠工程会计与税务处理怎么做?
  • cookie什么意思啊
  • docker windows -v
  • es6promise的理解
  • php推送微信公众号客户消息
  • 怎样利用 getnext 命令检索未知对象?
  • c语言中数组越界
  • 每个月工资扣的税为什么不一样
  • 创立教育培训机构之前的准备工作
  • 长期借款主要包括哪些
  • mongodb常用命令
  • 外贸企业有哪些公司青岛
  • 转回存货跌价准备的会计分录
  • 普通发票销货清单
  • 框架合同的印花税
  • 哪些进项税额不能抵扣
  • 跆拳道馆薪酬详细方案
  • 服务业有制造费用吗
  • 印花税如何计提缴纳
  • 企业一次性伤残就业补助金是由保险赔付吗
  • 实收资本或股本什么意思
  • 计提社保公积金的账务处理
  • 投标保证金怎么记账科目
  • 网上订机票怎么拿报销凭证
  • 长期待摊费用的最新账务处理
  • 政府非税收入项目挂接流程图
  • 美国支票名字不一致
  • 资金占用利息收入怎么入账
  • 单位存款的种类有哪些
  • 监控系统文件
  • win7桌面库图标怎么删除
  • debian iso
  • 虚拟机中的centos怎么联网
  • xp怎么隐藏运行的程序
  • winxp远程桌面
  • macbook2020款改硬盘
  • win8怎么设置成win7菜单
  • cocos2dx场景切换
  • js array数组
  • pycharm下载安装
  • jquery中什么方法用于模拟光标悬停事件
  • javascript要怎么学
  • js基于什么
  • 纳税申报的期限是多少年
  • 财政资金存在问题
  • 大兴区地方税务局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设