教程:如何开始使用 Hugging Face:
如何开始使用 Hugging Face:实用指南
我还记得第一次盯着 Hugging Face 网站时的情景,感觉自己像是走进了一个图书馆,里面的每本书都是用我半懂不懂的语言写的。Transformers、pipelines、model hubs——内容真不少。但花几个周末摸索后,我意识到它实际上是面向初学者最友好的 AI 平台之一。以下是我学到的东西。
Hugging Face 到底是什么
把 Hugging Face 想象成机器学习模型的 GitHub。它是一个人们分享预训练 AI 模型的平台——涵盖从文本生成到图像分类再到语音识别的各种功能。你不需要从头训练模型。只需拿一个已经能用的,然后进行调整即可。
它适合任何想使用 AI 但又不是机器学习博士的人。数据科学家、开发者、爱好者、想实现自动化的写作者。只要能写几行 Python 代码,你就够资格了。
注册与设置
注册过程简单得无聊。访问 huggingface.co,点击“Sign Up”,用你的邮箱或 GitHub 账号登录。搞定。但真正的设置在于让 Python 库工作起来。
打开终端并运行:
pip install transformers
就这样。一个库。我之前也持怀疑态度,但它确实处理了大部分繁重工作。你还需要根据偏好安装 torch 或 tensorflow。我选了 PyTorch,因为大多数 Hugging Face 模型都用它:
pip install torch
如果你和我一样讨厌混乱,先创建一个虚拟环境。我没这么做,结果我的全局 Python 安装现在一团糟。从我的错误中吸取教训吧。
第一个实际任务:情感分析
我从一个简单的任务开始。我想分析推文是正面还是负面的。Hugging Face 有一个 pipeline 函数,几乎抽象了所有细节。
from transformers import pipeline
classifier = pipeline("sentiment-analysis")
result = classifier("I absolutely love this product, it's amazing!")
print(result)
输出:[{'label': 'POSITIVE', 'score': 0.9998}]
就是这样。一行代码加载模型,一行代码使用它。我在从新闻账号抓取的 CSV 推文上运行了这个。它正确识别了 90% 的推文。虽然不完美,但对于零配置来说,感觉就像作弊。
提示: 第一次运行 pipeline() 时,它会下载模型。这可能要几百兆字节。请在 WiFi 环境下进行,不要用手机热点。
第二个任务:文本摘要
接下来,我想总结长文章。我读得慢,而且习惯把 50 页的报告收藏起来却从不看。这是我试图解决这个问题的方法。
from transformers import pipeline
summarizer = pipeline("summarization")
text = """...粘贴一篇2000字的文章..."""
summary = summarizer(text, max_length=130, min_length=30, do_sample=False)
print(summary[0]['summary_text'])
我输入了一篇关于 Kubernetes 的密集技术文章。摘要连贯,保留了关键点,并且没有出现幻觉(这是我担心的)。对于复杂的论点来说,它并不完美,但用于了解大意,已经相当可靠了。
我希望能早点知道的事: max_length 参数很棘手。设得太低,你会得到一个一句话的摘要,漏掉所有内容。设得太高,它就开始胡扯了。我发现 130-150 对大多数文章都有效。多试试。
第三个任务:图像描述生成
这就变得有趣了。我想为一次徒步旅行的照片生成描述。Hugging Face 也有这样的模型。
from transformers import pipeline
captioner = pipeline("image-to-text", model="nlpconnect/vit-gpt2-image-captioning")
caption = captioner("hiking_trail.jpg")
print(caption[0]['generated_text'])
输出:"a person standing on a mountain overlooking a valley"
它并不完美——有时会把模糊的石头描述成“一只狗”——但对于大多数风景照来说,它出奇地准确。我最终用它来为一个博客自动生成替代文本。