大模型微调实战(1):Hugging Face 入门
1. Hugging Face 介绍
从本篇文章开始,我们会开启一个系列专题——大模型微调实战。*在这个专题中,我们会详细介绍下如何使用和私有部署开源的大模型,并且结合特定业务场景,逐步微调出属于自己的大模型。*
本次是专题的第一节,我们不会涉及太多底层的技术原理,而是先了解下 Hugging Face 这个重要的社区。
**Hugging Face 是全世界最知名的开源模型社区,甚至没有之一。Hugging Face 在 AI 领域内的地位,丝毫不亚于 GitHub 在软件开发领域。***Hugging Face 于2016年成立于纽约,最初定位为 AI 聊天机器人 开发商,推出了一款面向青少年的对话应用,但未取得广泛成功。但是很快,团队发现开发者对*开源 NLP 工具****的需求激增,尤其是随着 *Transformer 架构(如 Google 的 BERT)的兴起*,决定转向技术基础设施方向,最终大获成功。
进入到 Hugging Face 的官网,可以看到最重要的两个模块,分别是 Models 和 DataSets 。下面我们分别介绍下。
2. Models 模型
首先来说模型。目前 Hugging Face 上已经涵盖了大多数的开源模型,我们需要使用的大模型通常都可以在这里找到。
目前 Hugging Face 将模型划分成了几大类别,如 Multimodal 多模态模型、Computer Vision 计算机视觉模型、Natural Language Processing 自然语言处理模型等等。*当下在大模型领域,最核心的研究方向还是自然语言处理模型。*
**在 NLP 模型分类下,还有两个下属的子分类,即 Text Generation 和 Fill-Mask,他们分别是以 GPT 为代表的自回归模型,和以 BERT 为代表的自编码模型。****
进入到具体的模型中,我们还可以直接在线体验模型的功能。例如,我们找到 stable-diffusion 模型,输入 prompt,直接就可以生成图片,非常方便。
3. DataSets 数据集
除了模型之外,数据集对于模型的训练也至关重要。Hugging Face 上收集了大量的、各个维度的高质量的数据集,如****文本翻译、对话、数学推理、代码生成****等等。
我们可以在 Hugging Face 上直接浏览 DataSets 的采样数据,也可以将数据集下载到本地进行训练。
4. 调用 Hugging Face 在线模型
相信通过上面的介绍,大家已经对 Hugging Face 有了一个初步的认知。下面我们就来实际操练一下,如何调用 Hugging Face 上的在线模型。
演示的模型我们选择 ***\*gpt2-chinese-cluecorpussmall\****
,它是基于 gpt-2 这个基础模型,并结合一些中文语料训练出来的,具备一定的中文理解和生成能力。
创建 Access Token
在使用 Hugging Face 之前,需要先创建 Access Token,它代表了访问 Hugging Face 的身份凭证。
特别提示:申请 Token 时需要选择用户权限,在测试环境下,可以考虑把全部权限都勾选上,以避免出现某些功能无法使用的情况。
调用模型
本次我们采用原生 HTTP 请求的方式来调用 Hugging Face,暂时不需要安装 transformers 库,仅使用 requests 库来发送 HTTP 请求即可。可以参考下面的代码:
import os
import dotenvimport requests
# 加载环境变量,并读取HuggingFace的api_tokendotenv.load_dotenv()api_token = os.getenv("HUGGINGFACEHUB_API_TOKEN")
# 定义API的base_url# https://api-inference.huggingface.co/models 这个前缀是固定形式# uer/gpt2-chinese-cluecorpussmall 这个是模型的namespace+名称base_url = "https://api-inference.huggingface.co/models/uer/gpt2-chinese-cluecorpussmall"
# 在Http Header中指定api_tokenheaders = {"Authorization": f"Bearer {api_token}"}
# 发送文本生成请求response = requests.post(base_url, headers=headers, json={"inputs": "帮我介绍下李白:"})
# 打印结果print(response.json())
最终的生成结果是这样的:
可以看到 API 是可以正常访问的,但是生成的内容质量非常差,基本上驴唇不对马嘴,这是因为 *gpt2 这个基础模型的参数还很小,性能完全无法与 gpt-3.5 及之后的模型相提并论。*
5. 小结
本次的文章中,我们对 Hugging Face 这个重量级的开源社区进行了介绍,概览了它的 Models 和 Datasets 这两个核心模块,并且通过一个简单的 demo 演示了如何调用 Hugging Face 上的在线模型,相信大家对于 Hugging Face 已经有了初步的了解了。
零基础入门AI大模型
今天贴心为大家准备好了一系列AI大模型资源,包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
有需要的小伙伴,可以点击下方链接免费领取【保证100%免费
】
1.学习路线图
第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;
第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;
第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;
第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;
第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;
第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;
第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。
2.视频教程
网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己整理的大模型视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。
(都打包成一块的了,不能一一展开,总共300多集)
3.技术文档和电子书
这里主要整理了大模型相关PDF书籍、行业报告、文档,有几百本,都是目前行业最新的。
4.LLM面试题和面经合集
这里主要整理了行业目前最新的大模型面试题和各种大厂offer面经合集。
👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;
• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;
• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;
• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。
1.AI大模型学习路线图
2.100套AI大模型商业化落地方案
3.100集大模型视频教程
4.200本大模型PDF书籍
5.LLM面试题合集
6.AI产品经理资源合集
5.免费获取
这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码或者点击以下链接都可以免费领取【保证100%免费】