轻松玩转开源大语言模型bloom(一)

前言

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 Scripts
activate

比如我这里是名叫gpt-ch的环境:

在这里插入图片描述

输完后这样就表示启动成功了,所有的命令都会在隔离环境里运行,安装的包也都会在gpt-ch/Lib/site-packages里:

在这里插入图片描述

安装pip包

如果只用cpu进行推理,只需要安装以下包:

pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cpu
pip 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/simple
pip install accelerate -i https://mirror.baidu.com/pypi/simple

模型下载

首先请编写以下代码保存运行:

from transformers import AutoModelForCausalLM, AutoTokenizer
checkpoint = "bigscience/bloom-1b1" #1b1,可改名成你想要的更大的模型
tokenizer = AutoTokenizer.from_pretrained(checkpoint) #下载模型的tokenizer
model = 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, AutoTokenizer
import time
a1 = time.time()
checkpoint = "bigscience/bloom-1b1"tokenizer = AutoTokenizer.from_pretrained(checkpoint)
model = AutoModelForCausalLM.from_pretrained(checkpoint)inputs = tokenizer.encode("奋进在不可逆转的复兴进程上", return_tensors="pt") #prompt
outputs = 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表示进行抽样,否则会使用贪心解码策略。

生成以下结果:

在这里插入图片描述
效果如何?是觉得不如人意还是效果逼真呢?

下期我们将尝试各种解码策略生成不一样的结果并进行比较,看到这里的朋友们可以点个关注,我们下期再见。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/21446.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ChatGPT官方第一手资料:这七个小技巧帮你用好ChatGPT

文 / 高扬(微信公众号:量子论) 学习技术最好的方式是什么?看官方资料。 然而,官方教材总有些晦涩难懂,所以大白话将意思做个翻译,就成为了必然。我个人建议有条件的话,先看官方指南。…

【GPT】让你事半功倍特别好用的5个GPT工具

文章目录 前言一、现在还能开通ChatGPT4.0吗?二、推荐五款与ChatGPT的相关实用工具1.一款浏览器插件:ChatGPT for Google2.一款生成图片的AI工具:midjourney3.推荐两款AI自动生成PPT:闪击PPT、mindshow4.识别PFD文件内容对话&…

【PTA】谷歌的招聘(C语言)

2004 年 7 月,谷歌在硅谷的 101 号公路边竖立了一块巨大的广告牌(如下图)用于招聘。内容超级简单,就是一个以 .com 结尾的网址,而前面的网址是一个 10 位素数,这个素数是自然常数 e 中最早出现的 10 位连续…

中兴校招笔试题-算法工程师-python

两个编程题,不是很难。 一、字符串分割 一个字符串内只包含T和S,问如何分割,是的每个字串有且仅有2个T,请计算总共有多少种分割方式? 说明: 字符串字母顺序不可改变; 字符串个数为奇数时&a…

如何用ChatGPT创造财富?

在当今的信息时代,人工智能技术的不断发展已经成为推动经济发展的新动力之一。ChatGPT作为其中的代表之一,可以帮助人们创造更多的财富。在本文中,我将会探讨如何使用ChatGPT来创造财富。 一、利用ChatGPT实现个性化服务 人工智能技术在个性…

基于ChatGLM-6B模型 + prompt实现角色扮演功能

★★★ 本文源自AlStudio社区精品项目,【点击此处】查看更多精品内容 >>> 1. 引言 1.1 什么是ChatGLM General Language Model (GLM),据论文 https://arxiv.org/pdf/2103.10360.pdf 所述,是一种基于自回归空白填充的通用语言模型…

启真医学大模型

启真医学大模型 QiZhenGPT: An Open Source Chinese Medical Large Language Model 本项目利用启真医学知识库构建的中文医学指令数据集,并基于此在LLaMA-7B模型上进行指令精调,大幅提高了模型在中文医疗场景下效果,首先针对药品知识问答发…

深度思考:在 AI 时代,你会被放大一千倍的能力是什么?

Datawhale干货 作者:艾芙,复旦大学,百姓AI教育负责人 前言 大家晚上好,我是艾芙,百姓 AI 的 AI 教育负责人。 先做一下自我介绍,我是一个在技术圈和教育圈反复横跳的斜杠中年了。大约在 5 年前&#xff0c…

Langchain 新手完全指南

原文:Langchain 新手完全指南 Langchain 可能是目前在 AI 领域中最热门的事物之一,仅次于向量数据库。 它是一个框架,用于在大型语言模型上开发应用程序,例如 GPT、LLama、Hugging Face 模型等。 它最初是一个 Python 包&#x…

数据人一直做这四项工作,即使不被BI、AI取代,也躲不过35危机!

先说我的观点:数据分析职业不会被BI软件替代。顺便说一句,数据分析职业也不会被chatgpt取代。 大家首先要搞清楚:取代人的从来不是工具,而是会使用工具的人。 数据分析师工作内容 首先,先让我们来全面拆解一下国内数…

〖编程初学者的自我修养 - 优质简历篇①〗- 知己知彼,面试官是如何分析一份简历的

历时18个月,采访 850 得到的需求。 不管你是在校大学生、研究生、还是在职的小伙伴,该专栏有你想要的职业规划、简历、面试的答案。说明:该文属于 编程初学者的自我修养 专栏,购买任意白宝书体系化专栏可加入易编程社区&#xff0…

聊一聊,哪些职业受ChatGPT影响最大?

新研究发现,审计师、翻译及作家目前的工作内容中,AI工具可以更快地处理至少一半的任务。 一项新研究显示,面对生成式人工智能(AI)拥有的能力,会计师是职业最容易受到影响的 其中一类专业人士。研究人员发现,借助这项技…

ChatGPT 速通手册——摘要生成和重命名

摘要生成和重命名 当我们开始使用ChatGPT了以后,就会发现一个非常有意思的事情,我们发起的每一个对话,ChatGPT都会基于对话内容生成一个摘要展现在对话列表中,如图所示: 我们的问题是“世界上最大的桥梁是哪座大桥&am…

培训班出来的程序员现在怎么样了

文章目录 0、前言1、刚出茅庐2、南下广州3、踏上北漂4、紧张的培训4、两进两出5、站稳脚跟6、奋斗至今7、一些收获 0、前言 大多数刚出校门的同学,都有过迷茫。因为少数家里有矿的除外。都是必然要经历的过程。迷茫之后,当然都会作出选择,因…

在培训班里学IT技术,真的有用吗?

关于IT培训,JiaYu有话说 0、前言IT行业的未来发展趋势IT技术学习方法 1、学习IT上培训班的益处2、学习IT上培训班的风险3、培训班对个人的要求4、JiaYu有话说嵌入式是否值得学?去培训班学嵌入式有用吗?推荐 0、前言 IT行业的未来发展趋势 大…

42天最全月子餐

阅读目录 第一周:排恶露第二周:排水肿第三周:催乳第四周:补气血第五周:通乳注意事项‼️月子餐注意事项: 第一周:排恶露饮食时间表第一天7:30 早餐10:00 加餐12:00 午餐15:30 加餐17:00 晚餐21:…

【报告分享】产后康复行业发展报告2021-麻麻康研究院(附下载)

摘要:目前在产后康复行业服务主体中,医疗机构包含医院、妇幼保健院、社区卫生服务中心、医师诊所,产康机构包含产后恢复中心、月子中心、运动健身中心、推拿按摩中心、医美中心、美容中心等多种门店业态,家庭场景包含家庭设备厂商及上门服务从…

“她经济”崛起,茉莉智慧如何以科技赋能月子中心迭代升级?

近年来,利好生育政策频出,女性消费能力不断提升,以月子中心为核心的产后护理赛道发展势头良好。据iiMedia Research数据,2022年中国月子中心市场规模突破223.0亿元。iiMedia Research市场调查显示,93.5%的受访者认为产…

基于android校园新闻APP开发的设计与实现

目 录 摘 要 I Abstract II 第一章 绪论 1 1.1 研究背景 1 1.2 研究意义 1 1.3研究现状 1 1.4设计思路及内容 2 第二章 系统开发环境及相关技术 3 2.1开发环境 3 2.2 Java SDK 3 2.3 Eclipse 3 2.4 ADT 3 2.5 Android SDK 4 2.6 JSP技术 7 2.7 JSON 8 2.8JDBC技术 8 第三章 系统…

OpenAI/ChatGPT 专栏,来了!

大家好!我是韩老师。 “职场圈”知识星球已经运营 54 天了,很高兴已经有 140 多位的童鞋加入了本知识星球。 在星球中,我除了分享了不少与职场相关的内容,也与时俱进,产出了许多与 ChatGPT 相关的内容。 GPT, ChatGPT,…