StableLM 教程:从入门到实践
StableLMStableLM: Stability AI Language Models项目地址:https://gitcode.com/gh_mirrors/st/StableLM
1. 项目介绍
StableLM 是由 StabilityAI 开发的一款开放源代码语言模型,它具有16亿参数的解码器结构。该模型旨在提供帮助并促进安全的对话,能够进行文本生成、写作创作等任务,同时避免参与可能对人类有害的行为。StableLM 不仅是一个信息检索工具,还能与用户进行有趣互动,如写诗、讲故事或讲笑话。
2. 项目快速启动
要开始使用 StableLM 模型,首先你需要安装 transformers
库。在命令行中运行以下代码:
pip install transformers
然后,你可以通过 Hugging Face 的 API 进行简单的文本生成。以下是一个 Python 示例:
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
from transformers import StoppingCriteria, StoppingCriteriaList
tokenizer = AutoTokenizer.from_pretrained("stabilityai/stablelm-tuned-alpha-7b")
model = AutoModelForCausalLM.from_pretrained("stabilityai/stablelm-tuned-alpha-7b").half().cuda()
class StopOnTokens(StoppingCriteria):
def __call__(self, input_ids: torch.LongTensor, scores: torch.FloatTensor, **kwargs) -> bool:
stop_ids = set([50278, 50279, 50277, 1, 0])
return input_ids[0][-1] in stop_ids
system_prompt = """<|SYSTEM|># StableLM Tuned (Alpha version)\n<|USER|>你好,今天天气如何?\n<|ASSISTANT|>"""
inputs = tokenizer(system_prompt, return_tensors="pt")
inputs = inputs.to("cuda")
tokens = model.generate(
**inputs,
max_new_tokens=64,
temperature=0.7,
do_sample=True,
stopping_criteria=StoppingCriteriaList([StopOnTokens()])
)
print(tokenizer.decode(tokens[0], skip_special_tokens=True))
这段代码将生成一个基于给定提示的回复。
3. 应用案例和最佳实践
- 聊天机器人:构建一个智能对话系统,让用户可以与 StableLM 进行自然的对话。
- 文本生成:用于生成诗歌、故事开头或其他创意写作。
- 内容摘要:根据长篇文章生成简洁的摘要。
- 代码辅助:在编程时作为助手,提供可能的代码片段或解决方案。
最佳实践包括:
- 使用适当的温度(
temperature
)控制生成结果的多样性。 - 设置合理的最大生成长度(
max_new_tokens
),以防止生成过长的响应。 - 在生成过程中考虑停止条件,例如检测到特定的结束令牌。
4. 典型生态项目
- Hugging Face Hub: 访问 Hugging Face 网站,查看其他基于 StableLM 的微调模型、示例和社区创建的应用。
- Finetunes 和 Merges: 看看稳定性人工智能的其他finetune模型,以探索不同的训练数据集和场景。
- Spaces: 发现社区成员创建的互动空间,了解如何利用 StableLM 实现各种应用。
本教程提供了 StableLM 基本使用的入口点,更多高级用法和技术细节可查阅官方文档和开源社区资源。祝你在使用 StableLM 的旅程中愉快!
StableLMStableLM: Stability AI Language Models项目地址:https://gitcode.com/gh_mirrors/st/StableLM