超详细教程:如何在笔记本上run起大模型?没有GPU也可以!(Windows/Mac)

这篇具有很好参考价值的文章主要介绍了超详细教程:如何在笔记本上run起大模型?没有GPU也可以!(Windows/Mac)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

好久不见的前言

好久没更新了,一是最近一直在研究生物医药大模型相关的内容,二是。相信不止是我,每一位工程师朋友都已经感受到大语言模型带给整个行业的颠覆性改变。最近身边就有不少的小伙伴入坑了大模型技术,而即使仍在观望的同学,也对大模型这一崭新的技术表达了深厚的兴趣。

但说到上手使用大模型,尤其是对于之前没有从事过相关工作的小伙伴来说,门槛是不低的。比如,大模型对基本硬件要求很高,没有大的内存和高性能的GPU就很难玩转,层出不穷的各种新技术和工具更是让人不知道从何入手。

因此,以最近刚刚发布的生物医药大模型——BioMedGPT为例,本教程提供了接触大模型技术的第一步,整理和介绍了在MacBook和Windows笔记本上如何从头开始跑起一个大模型,当然里面用到的技术也同样适用于对其他大模型进行操作。

接下来,我将从如何从零在MacBook和Windows笔记本配置隔离的运行环境,如何从HuggingFace上下载模型、加载模型,以及生成文本(执行推理)几个部分进行介绍。对于有python开发经验的伙伴们,可以选择性阅读。


环境搭建

Mac环境搭建

Mac配置

以本人所使用的MacBook Pro (13-inch, M1, 2020)为例
芯片:Apple M1
内存:16 GB
核总数:8(4性能和4能效)
系统:macOS Monterey,12.6.2
CPU架构:ARM64

conda环境

Anaconda是管理Python环境的强大工具,通过其可以创建、管理多个相互独立、隔离的Python环境,并在环境中安装、管理Python依赖。我们可以使用其免费、最小可用版本MiniConda。
可以在Miniconda ‒ conda documentation找到对应的下载链接和安装方式。
超详细教程:如何在笔记本上run起大模型?没有GPU也可以!(Windows/Mac),NLP,LLM,windows,macos

python环境

安装好miniconda以后,我们就可以创建一个Python环境,我们在这里创建了一个名为biomedgpt的python环境,并通过conda activate激活该环境。

conda create -n biomedgpt python=3.10
conda activate biomedgpt

为了运行BioMedGPT-LM-7B,我们需要安装pytorch和transformers。

安装pytorch

Mac上安装Pytoch可以在pytorch官网上找到对应的命令。我们只需要按照下图所示选择对应的版本,然后使用官方给出的安装命令即可。pip install torch torchvision torchaudio
超详细教程:如何在笔记本上run起大模型?没有GPU也可以!(Windows/Mac),NLP,LLM,windows,macos

安装transformers

Huggingface提供数以千计针对于各种任务的预训练模型,这些模型被广泛的应用于学术研究当中,transformers是Huggingface开源的一个NLP工具,方便使用者调用这些模型(包括训练、推理、量化等)。
超详细教程:如何在笔记本上run起大模型?没有GPU也可以!(Windows/Mac),NLP,LLM,windows,macos
大家可以根据自身的需要,选择适合自己的模型进行训练或微调,也可阅读api文档和源码, 快速开发新模型。我们可以通过pip或者conda直接安装transformers。

pip install transformers

如果pip安装很慢,可以指定清华或者阿里等国内镜像源,下面以清华源为例

pip install transformers -i https://pypi.tuna.tsinghua.edu.cn/simple

Windows环境搭建

conda环境 (可选)

conda提供了两个核心能力:一个是做环境隔离,一个是管理你的安装包。强烈推荐配置conda环境,它可以为你创建一个虚拟环境,最大限度地避免各种环境冲突。
访问 https://docs.conda.io/en/latest/miniconda.html 下载Miniconda:
超详细教程:如何在笔记本上run起大模型?没有GPU也可以!(Windows/Mac),NLP,LLM,windows,macos
超详细教程:如何在笔记本上run起大模型?没有GPU也可以!(Windows/Mac),NLP,LLM,windows,macos
超详细教程:如何在笔记本上run起大模型?没有GPU也可以!(Windows/Mac),NLP,LLM,windows,macos
如下图,启动conda命令界面:
超详细教程:如何在笔记本上run起大模型?没有GPU也可以!(Windows/Mac),NLP,LLM,windows,macos
超详细教程:如何在笔记本上run起大模型?没有GPU也可以!(Windows/Mac),NLP,LLM,windows,macos
上面截图中的信息表示,初始的时候,conda info --envs命令显示,系统中只有一个名叫“base”的虚拟环境。而在执行了 conda create --name BioMedGPT-env 命令之后,系统中就创建出来一个名叫“BioMedGPT-env”的虚拟环境。下面我们安装所需要的软件包,都会安装到这个虚拟环境下。

然后使用 conda activate BioMedGPT-env 命令激活这个新的虚拟环境。
超详细教程:如何在笔记本上run起大模型?没有GPU也可以!(Windows/Mac),NLP,LLM,windows,macos
安装python。这一步比较关键,它会确保你的python运行环境从零开始创建,不会受电脑上已经存在的其他python包的影响。
超详细教程:如何在笔记本上run起大模型?没有GPU也可以!(Windows/Mac),NLP,LLM,windows,macos

python环境

下面安装一系列需要的python包。本教程为了简单,只需要安装4个python包:torch、transformers、xformers、accelerate。下面执行 pip install 命令进行安装。为了加快从网上下载安装包的速度,用“-i”命令选项指定一下清华的安装镜像地址。

pip install torch transformers xformers accelerate -i https://pypi.tuna.tsinghua.edu.cn/simple

模型下载

BioMedGPT-LM-7B开源在PharMolix/BioMedGPT-LM-7B。
超详细教程:如何在笔记本上run起大模型?没有GPU也可以!(Windows/Mac),NLP,LLM,windows,macos
可以通过transformers的AutoModelForCausalLM.from_pretrained自动下载需要的模型和tokenizer。

import transformers
model =  AutoModelForCausalLM.from_pretrained("PharMolix/BioMedGPT-LM-7B")

但这种方式速度慢,且经常中断,因此我们也介绍了其他几种下载方式。

方式一:通过git下载

如果你的电脑上还没有安装git,首先安装git。

brew install git

由于模型文件很大,还需要安装Git Large File Storage。

brew install git-lfs

然后可以通过git clone的方式下载。
超详细教程:如何在笔记本上run起大模型?没有GPU也可以!(Windows/Mac),NLP,LLM,windows,macos

直接在终端执行git clone https://huggingface.co/PharMolix/BioMedGPT-LM-7B,即可将仓库中所有文件下载到本地。

方式二:直接通过文件链接下载

我们可以进入到PharMolix/BioMedGPT-LM-7B的文件页面。点击文件的下载箭头,就可以直接把文件下载到本地。
超详细教程:如何在笔记本上run起大模型?没有GPU也可以!(Windows/Mac),NLP,LLM,windows,macos
需要下载的文件如下,包含了模型和tokenizer所必需的文件。

 pytorch_model-00001-of-00003.bin
 pytorch_model-00002-of-00003.bin
 pytorch_model-00003-of-00003.bin
 pytorch_model.bin.index.json
 special_tokens_map.json
 config.json
 generation_config.json
 tokenizer.json
 tokenizer.model
 tokenizer_config.json

方式三:通过huggingface官方提供的模型的下载工具snapshot_download进行下载。

from huggingface_hub import snapshot_download
snapshot_download(repo_id="PharMolix/BioMedGPT-LM-7B")

snapshot_download提供了很多参数,比如你可以通过allow_patterns参数来决定你要下载的文件,resume_download设置为True则可以继续上次中断的下载。更多参数细节请参考官方文档。

from huggingface_hub import snapshot_download
#只下载json文件
snapshot_download(repo_id="PharMolix/BioMedGPT-LM-7B", 
                  allow_patterns="*.json",
                  resume_download=True)

我们使用Hugging Face提供的transformers框架来加载模型以及必需的其它配置。

模型加载

现在,我们已经准备好了环境和相应的文件,也已经启动了一个jupyter notebook用来编写代码。BioMedGPT-LM-7B是基于meta-llama/Llama-2-7b,在生物医药语料上增量训练得到的,模型的加载方式和llama2-7B模型的加载方式一致。我们可以直接通过transformers进行模型的加载。也可以直接print(model)把模型结构打印出来,具体的模型细节可以查看llama2官网和技术报告。

我们执行以下代码。为了适当暴露加载模型的一些细节,达到教学目的,我们特意单独加载模型和tokenizer,然后采用一个pipeline来把它们串起来(细节见下面的分步骤讲解)。

from transformers import pipeline
from transformers import AutoTokenizer
from transformers import LlamaForCausalLM
import torch

model = LlamaForCausalLM.from_pretrained("PharMolix/BioMedGPT-LM-7B", low_cpu_mem_usage=True)
tokenizer = AutoTokenizer.from_pretrained("PharMolix/BioMedGPT-LM-7B")
pipe = pipeline(task = "text-generation", model = model, tokenizer = tokenizer)

超详细教程:如何在笔记本上run起大模型?没有GPU也可以!(Windows/Mac),NLP,LLM,windows,macos
transformers.AutoModelForCausalLM的from_pretrained函数可以从huggingface仓库直接下载模型也可以加载本地下载好的模型。model_path是你存放模型和tokenizer文件的路径。运行上面的代码,我们就成功的在mac笔记本上加载了BioMedGPT-LM-7B模型,我们可以直接打印模型,查看模型的具体信息。如果提示内存不足,建议先关掉其他不需要的进程。

Tokenizer加载

如下图所示(来源于huggingface官方文档),文本在传入到模型到输出结果,需要经过三个步骤。Tokenizer把输入的文本切分成一个一个的token,然后将token转变成向量,Model负责根据输入的变量提取语义信息,输出logits;最后Post Processing根据模型输出的语义信息,执行具体的nlp任务,比如情感分析,文本分类等。

因此,我们需要加载两个核心的对象,一个是模型,一个是tokenizer。在上面代码中,model变量存储了模型本身。而tokenizer的作用是对于模型输入的自然语言文本做预处理(preprocessing)。由于计算机只能对数字进行处理(语言模型也不例外),而我们的输入是自然语言,因此需要一个tokenizer来把文本转成计算机能够处理的数字(最终转成向量的形式,喂给模型)。

超详细教程:如何在笔记本上run起大模型?没有GPU也可以!(Windows/Mac),NLP,LLM,windows,macos
tokenizer相关文件和模型文件都在BioMedGPT-LM-7B/文件夹下。其中,tokenizer.json存放了tokenizer的词表,tokenizer_config.json里有tokenizer的相关参数,tokenizer.model则存放着模型参数。 使用tokenizer处理输入的文本得到模型需要的向量表示。
超详细教程:如何在笔记本上run起大模型?没有GPU也可以!(Windows/Mac),NLP,LLM,windows,macos
input_ids就是每个token对应的词表id,把其作为模型的输入,得到输出的token id,然后通过tokenizer的decoder方法将output解码成文字。
超详细教程:如何在笔记本上run起大模型?没有GPU也可以!(Windows/Mac),NLP,LLM,windows,macos

执行推理

好了,至此,我们终于可以调用模型来生成文本了。我们调用前面的pipe,向模型输入一个问句:“What’s the function of Aspirin?” (翻译:如何设计一款药物?),回答见上图。

结束语

至此,我们成功地在笔记本上加载了7B的大模型,并用来生成了一段文字。注意,由于本教程在笔记本上使用CPU执行,而7B的模型有70亿参数之多,model.generate这步模型推理过程非常耗时,需要耐心等待结果输出(可能需要执行2个小时)。因此,下一篇文章,我们将会和大家一起讨论如何在使用模型的过程中进行加速,包括对模型进行量化和使用GPU。后面我们也会介绍更多的内容给大家,包括如何使用BioMedGPT-LM-7B构建一个医药助手。敬请期待~

下面的二维码,是我们BioMedGPT大模型的官方GitHub地址。本文的教程代码,都在里面的example目录下。后续的教程系列的代码也会持续更新到这个repo中。在手机上阅读的朋友,可以扫码进去star一下,方便后面查阅。
文章来源地址https://www.toymoban.com/news/detail-759508.html

到了这里,关于超详细教程:如何在笔记本上run起大模型?没有GPU也可以!(Windows/Mac)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 笔记本wifi与台式机、内网服务器共网、共享wifi详细教程

    内容包括两个部分: 笔记本、台式机共网,笔记本连接WiFi,台式机通过网线连接笔记本电脑; 笔记本、服务器共网,笔记本连接WiFi,服务器通过网线连接笔记本电脑。 1)稍微简单易操作,2)稍有难度,博主也尝试很久才得出解决方案 1.笔记本接入WiFi,用网线连接台式机

    2024年02月13日
    浏览(57)
  • 苹果电脑Mac笔记本听歌神器洛雪音乐+六音音源来了,详细教程,附下载地址!

    地址在文章尾部,拿windows截图说事儿,mac同理。 功能介绍: 海量音乐资源:洛雪音乐汇集了来自全球各地的数百万首歌曲,涵盖了各种流派和语种的音乐,满足不同用户的音乐需求。 高品质音质:洛雪音乐提供高品质的音乐播放,让用户享受更加清晰、流畅的音乐体验。

    2024年03月17日
    浏览(266)
  • 星光/宝骏/缤果/长安 车机CarPlay手机操作破解教程V2.0版本(无需笔记本、无需笔记本、无需笔记本)

    之前写了个1.0版本,由于太局限,需要用到笔记本才能操作,很多车友反馈不方便。特此出个手机版教程,简单easy,妈妈再也不用担心我搞不定啦 先卸载车机上的autokit 或者 智能互联 app,这步很关键!!! 工具下载链接 1、在自己的安卓手机上下载安装甲壳虫ADB助手 2、将

    2024年04月17日
    浏览(242)
  • 笔记本也能飞:运行chat大模型

    在过去的一年,ChatGPT的崛起彻底改变了我们与AI的交互方式。它不再是被动的信息提供者,而是成为了一个可以与我们自由交流、分享知识的伙伴。无论是生活中的琐事,还是工作中的难题,ChatGPT都能给出有价值的建议和信息。 同时,ChatGPT也在各个领域引发了深远的变革。

    2024年01月22日
    浏览(31)
  • 笔记本电脑验机教程

    ​ 选择一个靠谱平台,不要去某宝、某东的私人店专卖店购买,更不要去有所谓“定制版”这三个字的店。比如这家店有一款16G+1T的定制版,而官方只出过512G的版本,肯定是商家拆机添加了。尽量选择京东自营、天猫官方、品牌官网这些正规渠道。 ​ 可以全程录一个开箱视

    2024年02月11日
    浏览(39)
  • 笔记本电脑上部署LLaMA-2中文模型

    尝试在macbook上部署LLaMA-2的中文模型的详细过程。 (1)环境准备 MacBook Pro(M2 Max/32G); VMware Fusion Player 版本 13.5.1 (23298085); Ubuntu 22.04.2 LTS; 给linux虚拟机分配8*core CPU 16G RAM。 我这里用的是16bit的量化模型,至少需要13G内存,如果4bit的只需要3.8G内存,当然上述不包含系统本身需要

    2024年04月09日
    浏览(41)
  • 戴尔笔记本电脑重装win10系统详细记录

    首先去官网下载win10镜像,如图  点击:立即下载工具 下载完成后打开文件,出现界面如图 (其余选项按图所示)  点击:接受  点击:下一步  点击:下一步  点击:下一步  点击下一步之后进入该界面  下载过程需要很长时间,我一共下载了一个小时😇😇😇  下载完成

    2024年02月09日
    浏览(75)
  • 电脑笔记本如何去选

    如联想 小新AIr 14 i 是酷睿 英特尔 R是锐龙 十代酷睿 i5-10300H i7-10750H i7-10870H i7-10875H 十一代酷睿 四代锐龙 R5-4600H 五代锐龙 R5-5600H CPU后缀 英特尔的后缀 i5-10210U 14nm或更落后的低压处理器 i5-1135G7 10nm的低压处理器,核显G7级别(G7,G4,G1) 标准电压处理器不会把核显级别标注在命名

    2024年02月09日
    浏览(67)
  • 华为笔记本原厂系统镜像恢复安装教程方法

    1.安装方法有两种,一种是用PE安装,一种是华为工厂包安装(安装完成自带F10智能还原) 若没有原装系统文件,请在这里远程恢复安装:https://pan.baidu.com/s/166gtt2okmMmuPUL1Fo3Gpg?pwd=m64f  提取码:m64f 2.准备一个1632g左右u盘或者移动硬盘也可以,安装过程硬盘全盘格式化 3.安装过程

    2024年02月22日
    浏览(185)
  • 笔记本电脑如何安装openwrt

    联想E14笔记本 装机U盘 DiskImage v1.6 刷写工具 immortalwrt镜像 笔记本电脑如何安装openwrt 一、官方版 1.官网下载固件 2.BIOS关闭安全启动改为引导 3.用U盘启动进入PE系统后,需要先用PE系统自带的分区工具把电脑上待安装系统的硬盘分区删除掉,再打开写盘工具DiskImage,点Browse,选

    2024年04月28日
    浏览(95)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包