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

  • 论坛怎样推广的网络营销手段(论坛怎么推广)

    论坛怎样推广的网络营销手段(论坛怎么推广)

  • 微信零钱通转出到银行卡多久到账(微信零钱通转出有限额吗)

    微信零钱通转出到银行卡多久到账(微信零钱通转出有限额吗)

  • 苹果13mini怎么设置面容和密码解锁(苹果13mini怎么设置指纹解锁)

    苹果13mini怎么设置面容和密码解锁(苹果13mini怎么设置指纹解锁)

  • 如何让微信暂时不计步(如何让微信暂时封号)

    如何让微信暂时不计步(如何让微信暂时封号)

  • 华为手机怎么让两张图片拼成一张(华为手机怎么让短信验证码弹出)

    华为手机怎么让两张图片拼成一张(华为手机怎么让短信验证码弹出)

  • oppo手机怎么裁剪视频画面中不要的部分(oppo手机怎么裁剪截屏)

    oppo手机怎么裁剪视频画面中不要的部分(oppo手机怎么裁剪截屏)

  • 苹果nn开头是什么版本(苹果机n开头)

    苹果nn开头是什么版本(苹果机n开头)

  • 腾讯会议为什么黑屏(腾讯会议为什么不能共享屏幕)

    腾讯会议为什么黑屏(腾讯会议为什么不能共享屏幕)

  • 苹果微信发语音就闪出红色(苹果微信发语音有杂音)

    苹果微信发语音就闪出红色(苹果微信发语音有杂音)

  • 音响中英文语音切换(音响中英文语音怎么设置)

    音响中英文语音切换(音响中英文语音怎么设置)

  • 苹果购买记录待处理能退吗(苹果购买记录待处理,有什么影响吗)

    苹果购买记录待处理能退吗(苹果购买记录待处理,有什么影响吗)

  • qq删了再下载聊天记录还在吗(qq删了再下载聊天记录没有了怎么办)

    qq删了再下载聊天记录还在吗(qq删了再下载聊天记录没有了怎么办)

  • 华为nova5外部尺寸是多少(华为nova5i外观)

    华为nova5外部尺寸是多少(华为nova5i外观)

  • 华为nova6支持5g吗(华为nova6支持5g什么频段)

    华为nova6支持5g吗(华为nova6支持5g什么频段)

  • ie8以上版本浏览器有哪些(ie8.0以上浏览器是电脑浏览器吗)

    ie8以上版本浏览器有哪些(ie8.0以上浏览器是电脑浏览器吗)

  • hd在手机上面怎么关闭(手机上 hd)

    hd在手机上面怎么关闭(手机上 hd)

  • 米6快充头多少w(小米6快充是多少v多少a)

    米6快充头多少w(小米6快充是多少v多少a)

  • 手机怎么看qq加密相册(手机怎么看qq加过的所有人)

    手机怎么看qq加密相册(手机怎么看qq加过的所有人)

  • 苹果x可以设置应用锁吗(苹果x可以设置铃声歌曲吗)

    苹果x可以设置应用锁吗(苹果x可以设置铃声歌曲吗)

  • 小米6是oled屏幕吗(小米6oled屏幕质保)

    小米6是oled屏幕吗(小米6oled屏幕质保)

  • 华为麦芒7有nfc功能吗(华为麦芒7的nfc功能)

    华为麦芒7有nfc功能吗(华为麦芒7的nfc功能)

  • uv镜和遮光罩必须要吗(uv镜跟遮光罩)

    uv镜和遮光罩必须要吗(uv镜跟遮光罩)

  • led显示屏怎么设置字幕(LED显示屏怎么设置时间)

    led显示屏怎么设置字幕(LED显示屏怎么设置时间)

  • 抖音怎么上传长视频(抖音怎么上传长视频完整版)

    抖音怎么上传长视频(抖音怎么上传长视频完整版)

  • 1080p60fps和30fps区别(1080p30fps与1080p60fps哪个好)

    1080p60fps和30fps区别(1080p30fps与1080p60fps哪个好)

  • 华为nova5什么时候发布(华为nova5什么时候上市的)

    华为nova5什么时候发布(华为nova5什么时候上市的)

  • win11系统怎么设置鼠标可滚动非活动窗口?(win11系统怎么设置密码锁屏)

    win11系统怎么设置鼠标可滚动非活动窗口?(win11系统怎么设置密码锁屏)

  • 饮食企业简介
  • 小规模纳税人缴纳企业所得税
  • 一般纳税人销售货物税率
  • 高速公路通行费发票怎么开
  • 什么样的运输发动机最好
  • 公司车买保险怎么付款
  • 税控盘忘记抄报反写怎么办
  • 新公司核税需要什么资料
  • 进项已经抵扣会退回吗
  • 月末哪些科目需要手动结转为成本
  • 私车公用产生的过路费怎么开发票
  • 增值税发票本月没用完可以下月用吗
  • 企业报税没报怎么办
  • 卖桶装水税率
  • 待解报预算收入扣款怎么做账
  • 进口材料怎么做账
  • 委托出口业务的账务如何处理呢?
  • 小规模纳税人发票增额需要什么手续
  • 法人借款可以做到短期借款吗
  • 个人独资企业取得的股息红利
  • 信用担保对中小企业的作用
  • 未开票收入是含税收入吗
  • 库存股股本属于什么科目,借贷方向
  • 无偿赠送的原材料怎么处理
  • 新会计准则下建筑业会计科目设置
  • 简单介绍linux
  • 有限责任公司出资方式有哪些
  • 电力安装工程辅料有哪些
  • 建筑劳务公司计提人工劳务费需要工资表吗?
  • 索尼笔记本电脑官网
  • 公允价值变动损益会计处理
  • php文件上传用什么请求方法
  • php redis常用命令
  • cpu版本的pytorch可以运行LSgan嘛
  • 营业外收支的内容
  • yolov5 workers
  • 固定资产的减值准备,一经确认,不得转回
  • JavaScript数组(四):判断数组相等的4种方法
  • 论文resit
  • php array_product
  • 深究Python中的asyncio库-线程并发函数
  • selenium python 教程
  • 其他应付款用什么冲掉
  • 财政总预算会计的主体是
  • 冲以前年度管理费用
  • 综合所得计税依据
  • sql server基本知识
  • 两者的性质有所差异
  • 利润表的期末余额怎么算出来的
  • 处置投资性房地产时影响营业成本的金额
  • 电子发票和增值税发票有什么区别
  • 暂估和开票的差异 erp处理
  • 过路费发票可以抵扣进项税吗
  • 辅助生产车间的制造费用不通过制造费用核算
  • 固定资产房屋拆除后如何做帐务处理
  • 货物出去没有出口报关可以补吗
  • 陪标收费标准
  • 个人购买股权和公司购买股权比较
  • 流动负债占比低什么意思
  • 工程招标费用由谁支付
  • 企业对于发出的货物
  • 年末结账与财务的关系
  • 工业企业外购材料物资的成本包括
  • mysql缩进快捷键
  • 粘贴板有问题不能粘贴怎么处理
  • win8.1的开始菜单在哪
  • 组建,加入或退出工会都是基于
  • snmptrap.exe - snmptrap是什么进程 有什么作用
  • win7计算机快捷方式不见了
  • WNxp下让所有用户桌面显示系统默认图标的方法
  • win8系统损坏怎么修复
  • opengl 变形
  • jframe背景透明
  • jquery全选和全不选效果
  • 一道关于医用口罩的数学题初二
  • jquery获取点击元素的id
  • android进度条对话框
  • python中的stringvar
  • flask框架官方文档
  • 苏州相城离苏州市区有多远
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设