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

  • 字符间距加宽2磅怎么设置(字符间距加宽2榜)

    字符间距加宽2磅怎么设置(字符间距加宽2榜)

  • 支付宝刷脸付款如何设置(支付宝刷脸付款可靠吗)

    支付宝刷脸付款如何设置(支付宝刷脸付款可靠吗)

  • 快手号注销了还能用吗(快手号注销了还能重新申请账号么)

    快手号注销了还能用吗(快手号注销了还能重新申请账号么)

  • 怎么看下载软件历史(怎么看下载软件是不是官方)

    怎么看下载软件历史(怎么看下载软件是不是官方)

  • qq免费浮屏有哪些(qq的浮屏免费使用)

    qq免费浮屏有哪些(qq的浮屏免费使用)

  • 微信拉黑以前朋友圈还能看到吗(微信好友拉黑以前的聊天记录还有吗)

    微信拉黑以前朋友圈还能看到吗(微信好友拉黑以前的聊天记录还有吗)

  • ls120在bios里是什么意思(bios s1)

    ls120在bios里是什么意思(bios s1)

  • wacom可以连手机吗(wacom可以连接平板吗)

    wacom可以连手机吗(wacom可以连接平板吗)

  • iPhone11怎么用NFC(iphone11怎么用nfc刷地铁)

    iPhone11怎么用NFC(iphone11怎么用nfc刷地铁)

  • 交完电费还没有来电怎么办(交完电费还没来电怎么办)

    交完电费还没有来电怎么办(交完电费还没来电怎么办)

  • 八代酷睿和十代酷睿差距(十代酷睿和八代酷睿相比)

    八代酷睿和十代酷睿差距(十代酷睿和八代酷睿相比)

  • 华为trt一al00属于什么系列(华为型号trt al00)

    华为trt一al00属于什么系列(华为型号trt al00)

  • 无线网已停用该怎么办(无线网显示已停用是别人把我屏蔽了吗)

    无线网已停用该怎么办(无线网显示已停用是别人把我屏蔽了吗)

  • 微信群消息怎么屏蔽,不是免打扰(微信群消息怎么屏蔽)

    微信群消息怎么屏蔽,不是免打扰(微信群消息怎么屏蔽)

  • 手机购票显示手机号码未核验(手机购票总是失败怎么办)

    手机购票显示手机号码未核验(手机购票总是失败怎么办)

  • 微信账单打不开怎么回事(微信账单打不开 无法打开网页)

    微信账单打不开怎么回事(微信账单打不开 无法打开网页)

  • p30为什么会卡顿这么严重(p30为什么会卡顿呢)

    p30为什么会卡顿这么严重(p30为什么会卡顿呢)

  • 微信被删了还能发消息(微信被删了还能看到聊天记录吗)

    微信被删了还能发消息(微信被删了还能看到聊天记录吗)

  • 华为和荣耀笔记本的区别在哪(华为和荣耀笔记本的区别)

    华为和荣耀笔记本的区别在哪(华为和荣耀笔记本的区别)

  • 抖音里的抖币怎么提现(抖音里的抖币怎么换成钱)

    抖音里的抖币怎么提现(抖音里的抖币怎么换成钱)

  • 快手发私信有红色感叹号(快手发私信有红色感叹号多久才能发出去)

    快手发私信有红色感叹号(快手发私信有红色感叹号多久才能发出去)

  • 抖音怎么中途更换音乐(抖音怎么切换下个视频)

    抖音怎么中途更换音乐(抖音怎么切换下个视频)

  • 户户通怎么升级(户户通怎么升级高清)

    户户通怎么升级(户户通怎么升级高清)

  • 卡西欧手表灯怎么关掉(卡西欧手表灯怎么调亮度)

    卡西欧手表灯怎么关掉(卡西欧手表灯怎么调亮度)

  • 苹果手机怎么进入云相册(苹果手机怎么进入dfu模式)

    苹果手机怎么进入云相册(苹果手机怎么进入dfu模式)

  • 电脑运行内存怎么清理(电脑运行内存怎么扩大)

    电脑运行内存怎么清理(电脑运行内存怎么扩大)

  • ctrl+v是什么意思

    ctrl+v是什么意思

  • 用ai怎么提取图片线稿(ai怎么提取图片里的文字)

    用ai怎么提取图片线稿(ai怎么提取图片里的文字)

  • 网络贷款需要交钱吗
  • 单位出租不动产印花税
  • 进口货物如何确认
  • 年偿债基金和年金现值
  • 建筑企业怎么转让
  • 企业承担的法律责任有哪些保险
  • 办理企业所得税汇算清缴的期限是
  • 商品周转天数和周转率
  • 残疾人就业保障金怎么计算
  • 年金现值计算公式推导
  • 库存现金限额一般由开户银行根据企业
  • 进项税发票已经认证但对方又作废
  • 小规模纳税人不允许开具零税率发票
  • 增值税进项销项怎么算
  • 票据转让后本公司还有责任吗
  • 税控盘服务费每年都可以抵吗
  • 红字发票是否需要盖发票章
  • 劳动报酬个人所得税由扣缴义务人预扣预缴
  • windows10如何更改时间
  • win10移动热点开关自动弹回
  • PHP:Memcached::getServerByKey()的用法_Memcached类
  • 会计实务中计提是什么意思
  • 没有认缴的股东算是股东?
  • 同一控制下的控股合并中,合并方个别财务报表
  • 专用发票怎样申报
  • Netlib.exe - Netlib是什么进程 有什么用
  • npfmntor.exe - npfmntor是什么进程 有什么用
  • 销售食品分录
  • 现金折扣的账务处理最新规定
  • 同一控制下企业合并和非同一控制下企业合并的区别
  • php获取mysql数据
  • 增值税的纳税时间是多久
  • 预训练的目的
  • 固定资产无形资产计提折旧是当月还是次月
  • 其他权益工具是什么会计科目
  • 非财政补助结转和非财政补助结余的区别
  • 小规模纳税人利润超过300万
  • 运杂费可以计入固定资产吗
  • phpcms添加内容
  • 一般纳税人是怎么征收
  • 可以直接在企业所得税税前扣除的是
  • 自产和外购用于赠送
  • 股权激励费用怎么做账
  • 收到公众号消息提醒
  • 存货计提存货跌价准备
  • 贴现公司贴现合法吗
  • 信用减值损失和公允价值变动的区别
  • 总公司发票可以在分公司使用吗
  • 本年利润的会计科目代码
  • 红冲上一年度销售收入
  • 案例分析收到了哪些安全启示
  • 汽车销售企业的资产有哪些
  • 弥补上年亏损的分录 所得税
  • 直接计算法是依据零件图样上给定的尺寸
  • 记账发生错账怎么办
  • windows任务管理器打不开
  • vista server
  • mac可以远程连接windows吗
  • schost.exe - schost是什么进程 有什么用
  • win10关闭defender方法
  • linux使用zsh
  • PACKAGER.EXE - PACKAGER是什么进程 有什么用
  • js一维数组转树结构
  • nodejs获取客户端ip地址
  • 苹果mac安装
  • jquery data-
  • dos命令怎么写
  • python获取当前地址
  • 常用的八种教学方法
  • unity每帧调用
  • Android ImageLoader 本地缓存
  • 税务局的章
  • 车辆购置税怎样交
  • 广西电子发票如何申请
  • 投资性房地产如何进行后续计量
  • 房产税纳税义务时间
  • 职工周转房需要缴纳房产税吗
  • 在本地买车怎么上外地牌照
  • 江西自考招考办
  • 宁波税务局qzzn
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设