初学者在使用 Hugging Face LLM 之前最好知道的12件事

Hugging Face 现已成为最流行的人工智能开源库之一。它是每个自然语言处理任务爱好者的瑰宝。

我刚开始在 Google Colab Notebook 上尝试每一个新功能时,失败的次数比成功的次数还要多!当按照教程和示例运行代码时,10 次有8次会遇到错误,甚至想放弃

如果您想学习新的工具或库,提前了解可能出现的潜在问题是有益的:人们希望在深入研究之前就知道这些事情。

在这篇文章中,我们将探讨每个初学者都应该知道的12 件事。这些技巧将帮助您避免常见的挫败感,并提高您在 Hugging Face LLM 课程上的进步。

本文将分为 4 个主要主题:

1. Training course 培练课程

2. Transformers and Pipelines

3. What Model sohuld I pick? 应该选择什么样的模型

4. LangChain and Text2Text-generation


一、 Training course

Hugging Face 免费课程是一门使用 HuggingFace 生态系统的 NLP 免费课程。它专注于教授 NLP 的细节以及如何完成 NLP 中最先进的任务。

当您注册到他们的门户网站时,系统会要求您做的第一件事就是参加免费培训课程。我立即点击“是”(它是免费的......)。

本课程分为三个主要模块,每个模块又分为章节或小节。

该课程可在 Pytorch 和 Tensorflow 中使用,并且可以与 Google Colab 笔记本一起学习。

培训课程内容广泛且组织良好。每章末尾还有小测验来测试理解程度

这里需要注意的是……

  1. 如果您是初学者,您可以开始使用带有 Hugging Face Transformers 库的预训练模型:遵循一些教程就足够了。

  2. 如果您是更高级的用户,您甚至可以针对特定的 NLP 任务微调和自定义这些模型:在这种情况下,最好完成整个课程。

  3. 最好的理解方法是在 Google Colab Notebook 上测试自己,尝试新事物。如果您只遵循这个漫长的过程而不亲自测试,您将不会从中受益。使用材料作为参考,并尽可能参考官方文档。

二、 Transformers and Pipelines

Transformers 是您与所有 Hugging Face 模型互动的工具箱。您甚至不必下载它们:如果您创建了一个API Tokenef="huggingface.co/docs/api">则可以调用Inference API来完成您的工作(就像您使用ChatGPT所做的那样)。

有了Transformer,您无需立即了解复杂的技术即可使用 LLM 。使用预训练模型,您可以执行许多常见任务:

自然语言处理:文本分类、命名实体识别、问答、语言建模、摘要、翻译、多项选择和文本生成。
️ 计算机视觉:图像分类、对象检测和分割。
️ 音频:自动语音识别和音频分类。
多模态:表格问答、光学字符识别、扫描文档信息提取、视频分类和视觉问答。

这里需要注意的是……

4. 使用 AutoTokenizer 和 AutoModelForSeq2Seq:最初我认为您需要为每个模型系列使用特定的Transformers和Tokenizer(例如,如果您使用T5模型系列,则需要为它们使用特定的 transformers)

from transformers import T5Tokenizer, T5ForConditionalGenerationtokenizer = T5Tokenizer.from_pretrained("t5-small")model = T5ForConditionalGeneration.from_pretrained("t5-small")

但并非所有型号的 Hugging Face 型号卡上都有明确指示如何使用它们。对于所有预训练模型,您可以声明一个简单的语句:

from transformers import AutoTokenizer, AutoModelForCausalLM#replace "databricks/dolly-v2-3b" with "yourpathto/hfmodel..."tokenizer = AutoTokenizer.from_pretrained("databricks/dolly-v2-3b")model = AutoModelForCausalLM.from_pretrained("databricks/dolly-v2-3b")

5. 每个型号的型号卡上都有 Transformers 的快速使用指南

模型卡:如何使用
右上角的“ Use in Transformers”

三、 What Model should I pick?

Hugging Face Hub是一个拥有超过 12 万个模型、2 万个数据集和 5 万个演示应用程序 (Space) 的平台,所有这些都是开源且公开的,在一个在线平台上,人们可以轻松协作并一起构建机器学习。

数量如此庞大,很难选择合适的。一开始我是随机浏览它们的。以这种方式测试它们是一个很大的错误并且浪费时间。

这里需要注意的是……

6. 您可以从排行榜开始,了解社区中表现较好的模型。

随着大量的大型语言模型 (LLM) 和聊天机器人每周发布,并且常常夸大其性能,很难过滤出开源社区正在取得的真正进展以及哪个模型是目前最先进的技术。 开放 LLM 排行榜旨在跟踪、排名和评估法学硕士和聊天机器人的发布。

检查您最喜欢的热门模型并使用 API 进行尝试

7. 你的硬件是限制:如果你没有 GPU,你必须使用小的模型。转到文件目录并查看 .bin 文件的大小。

有的项目在型号卡中也会提到所需的最低规格,比如:

8. 根据您要执行的任务选择您的模型!你不能在你的 PC 上拥有 ChatGPT……但你可以拥有多个执行不同任务的小模型。摘要器、文本生成器、翻译器等等。您可以在模型卡页面本身上找到与模型相关的任务。

MBZUAI/LaMini-Flan-T5–248M 可以进行text2text生成...248M可以进行text2text生成...

例如,下面的模型是专门用于翻译的模型:特别是从英语到韩语的翻译。请记住,在 Hugging Face Hub 中,翻译模型通常仅适用于一对和特定顺序。这是从英语到韩语 (en-to-ko)

模型卡能告诉我们很多事情:

1. 基础模型:marian
2. 机器学习框架:Tensorflow
3. 专业任务:Text2Text 生成


9. 如果模型的权重.h5是格式的,则需要安装tensorflow(如上例所示)

pip install tensorflow

请记住,当您调用 Model 时,需要指定 tensorflow 框架, from_tf=True

repo_id = “hcho22/opus-mt-ko-en-finetuned-en-to-kr” model_ttKR = AutoModelForSeq2SeqLM.from_pretrained(repo_id, from_tf= True )

10. 声明时自动下载的模型存储在计算机上的特殊 href="huggingface.co/docs/hug">缓存目录中。这意味着您可以将它们复制/粘贴到您的项目文件夹中!在终端中运行此命令以获取所有缓存模型的列表和路径。在这里了解更多信息

huggingface-cli scan-cache

四、 LangChain and Text2Text-generation

LangChain 是一个帮助开发人员构建由大型语言模型(LLM)支持的应用程序的库。它提供了一个框架,用于将LLM 连接到其他数据源(例如互联网或个人文件),并允许开发人员将多个命令链接在一起以创建更复杂的应用程序。

这里需要注意的是……

11. 立即开始使用LangChain:文档和教程非常好! 可用于构建由 LLM 支持的应用程序,例如聊天机器人、问答系统、摘要系统和代码生成系统。它是一个功能强大的工具,易于使用并提供广泛的功能。

12. 现代模型(如 T5 系列)有一个名为 Text2TextGeneration 的管道这是使用 seq2seq 模型生成文本到文本的管道。Text2TextGeneration 是适用于各种 NLP 任务的单一管道,例如问答、情感分类、问题生成、翻译、释义、摘要等。

结论

对于像你我这样的人工智能爱好者来说,使用 Hugging Face 的语言模型 (LLM) 可能是一种具有挑战性但又有益的经历。


相关文章