“ 大家好,今天我手把手教大家如何下载和使用目前最强大的开源模型llama3.1。只需要基本的Python基础即可!”
7月23日,Meta公司的LIama 3.1正式发布,登上大模型王座!在150多个基准测试集中,405B版本的表现追平甚至超越了现有SOTA模型GPT-4o和Claude 3.5 Sonnet。也就是说,这次,**开源模型第一次战胜了闭源模型!**感谢Meta的开源,让普通人也可以用上最强的大模型!回头再看看百度CEO李彦宏前两天的话“开源是智商税”(如下图),只能说李彦宏又错了!
而且,更令人感动的是,Meta用100多页的PDF把超级详细训练细节都给公布出来了。HuggingFace首席科学家赞叹:“如果你是从零开始研究大模型,就从这篇论文读起”。我会在之后专门写一篇文章学习这100多页的PDF。 今天这一篇文章我们先看看怎么使用它最新开源的Llama3.1模型。
Meta的Llama开源大模型系列目前出了3代了,最新的一代就是今天新鲜出炉的Llama3.1。有8B,70B和405B三个版本,对应中杯,大杯和超大杯,如下图。
由于我是个人玩家,没有几十上百块显卡,70B的和405B的模型我们玩转不动,因此本期我们只是尝试下8B的模型的使用。8B虽然是最小的版本,但是也需要约至少16GB的内存。大家如果手头有16GB内存的电脑就可以自己按照下面的教程试一试。
01
—
hugging face获取模型授权
进入Llama8B-Instruct的网址:https://huggingface.co/meta-llama/Meta-Llama-3.1-8B-Instruct。点击"Sign Up"注册一个hugging face账号。已经有账号的直接"Log in"登录。然后在这个页面申请下载模型的授权。
注意,需要填写自己的国家,别填中国就行。我自己试着填写中国结果说审核不通过。估计是Meta也受美国现在政策限制,不给中国开放大模型。我后来重新申请,选择荷兰,大概只需要审核几分钟,就可以成功获取模型下载的授权了(如下图,点击自己hugging face头像 => setting => Gated Repositories)。
02
—
hugging face获取登录token
经过上一章,我们目前是获得模型授权了。但是这意味着通过网页登录了hugging face后我们可以下载模型。那么我们怎么样才能用python在jupyter notebook里自动下载模型呢?这个时候就需要我们通过Python在jupyter notebook里登录我们自己的hugging face的账号。我们并不打算通过用户名和密码的方式来登录,而是通过token的方式。具体如下。
在setting页面,点击Access Tokens,点击“Create new token”,选择自己想要的权限(如下图,我把对勾全选了,大家可以按需要选择对勾)。
之后就可以得到下面的页面,就代表成功生成了一个token。先不着急关闭这个页面,而是要把这一串编码复制到一个只有自己知道的地方,下文要用。
03
—
创建环境,安装库
下载和更新transformers和accelerate(注意下面命令中的–upgrade一定不能缺,这个是升级安装最新版本的意思,一定要安装最新版本才行):
pip install --upgrade transformers, accelerate, huggingface_hub
04
—
下载和使用模型
登录hugging face:
from huggingface_hub import login``login()
这里会弹出一个框,粘贴上文的token即可(如下图)。
接下来就是全文最重要的部分,下载Llama3.1到本地并且调用它。我们打算让它帮我们把医疗报告中患者的敏感信息隐去。这个任务的动机在于,我们希望训练一个可以看病的医疗大模型,但是我们又不希望把患者的个人信息泄露出去。因此在此之前,有必要对医疗数据进行脱敏和匿名化。下面我们用一个小例子看看Llama在这个任务上的表现。
from transformers import AutoTokenizer, AutoModelForCausalLM``import torch`` ``model_id = "meta-llama/Meta-Llama-3.1-8B-Instruct" # 最新的llama3.1在hugging face的仓库名`` ``tokenizer = AutoTokenizer.from_pretrained(model_id) # 自动下载分词器到本地``model = AutoModelForCausalLM.from_pretrained( # 自动下载模型到本地` `model_id,` `torch_dtype=torch.bfloat16,` `device_map="auto",``)`` ``messages = [ # 提示词在这里` `{"role": "system", "content": "你是一个自然语言处理器,请你把输入的人名,电话,住址等等用X代替,其余信息原样输出。比如把【王小明是一个粉刷匠】变成【XXX是一个粉刷匠】"},` `{"role": "user", "content": "王小明是一个粉刷匠,他住在莱顿大街123号,电话是1234567890,他得了肺结核,需要持续吃药和住院。——李大鹏医生"},``]`` ``input_ids = tokenizer.apply_chat_template(` `messages,` `add_generation_prompt=True,` `return_tensors="pt"``).to(model.device)`` ``terminators = [` `tokenizer.eos_token_id,` `tokenizer.convert_tokens_to_ids("<|eot_id|>")``]`` ``outputs = model.generate(` `input_ids,` `max_new_tokens=256,` `eos_token_id=terminators,` `do_sample=True,` `temperature=0.6, # 这里调节温度` `top_p=0.9,``)``response = outputs[0][input_ids.shape[-1]:]``print(tokenizer.decode(response, skip_special_tokens=True))``
上面的代码会自动下载模型到磁盘的缓存区,下次再运行会自动从缓存区加载,不会重复下载。因此第一次运行上面的代码需要几分钟来下载模型,之后运行速度就会快很多。
等待一会儿后,模型成功输出:
XXX是一个粉刷匠,他住在XXXXX大街123号,电话是XXXXX,他得了肺结核,需要持续吃药和住院。——XXX医生
Perfect~ 可以看出Llama3.1模型成功的实现了我们需求(一个小瑕疵就是123号没有被隐去)!大家可以通过改变上面代码中的汉字部分,从而改变prompt,实现不同的需求。
到此,我们终于从头到尾实现了对Llama3.1的下载和调用。撒花~ 我们这次是简单地调用它回答了我们的一个问题。后面的文章中我们会调用它做一个科研大项目!具体是什么项目呢?请拭目以待!
那么,如何系统的去学习大模型LLM?
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
作为一名热心肠的互联网老兵,我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。
但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
所有资料 ⚡️ ,朋友们如果有需要全套 《LLM大模型入门+进阶学习资源包》,扫码获取~
篇幅有限,部分资料如下:
👉LLM大模型学习指南+路线汇总👈
💥大模型入门要点,扫盲必看!
💥既然要系统的学习大模型,那么学习路线是必不可少的,这份路线能帮助你快速梳理知识,形成自己的体系。
路线图很大就不一一展示了 (文末领取)
👉大模型入门实战训练👈
💥光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
👉国内企业大模型落地应用案例👈
💥两本《中国大模型落地应用案例集》 收录了近两年151个优秀的大模型落地应用案例,这些案例覆盖了金融、医疗、教育、交通、制造等众多领域,无论是对于大模型技术的研究者,还是对于希望了解大模型技术在实际业务中如何应用的业内人士,都具有很高的参考价值。 (文末领取)
👉GitHub海量高星开源项目👈
💥收集整理了海量的开源项目,地址、代码、文档等等全都下载共享给大家一起学习!
👉LLM大模型学习视频👈
💥观看零基础学习书籍和视频,看书籍和视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。 (文末领取)
👉640份大模型行业报告(持续更新)👈
💥包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。
👉获取方式:
这份完整版的大模型 LLM 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】
😝有需要的小伙伴,可以Vx扫描下方二维码免费领取🆓