模型简介
模型特点
模型能力
使用案例
🚀 RedPajama-INCITE-7B-Chat
RedPajama-INCITE-7B-Chat 由 Together 以及开源 AI 社区的领导者们共同开发,这些领导者来自 Ontocord.ai、ETH DS3Lab、AAI CERC、蒙特利尔大学、魁北克人工智能研究所 MILA、斯坦福基础模型研究中心 (CRFM)、斯坦福 Hazy Research 研究小组和 LAION。
该模型在 OASST1 和 Dolly2 上进行了微调,以增强其聊天能力。
- 基础模型:RedPajama-INCITE-7B-Base
- 指令微调版本:RedPajama-INCITE-7B-Instruct
- 聊天版本:RedPajama-INCITE-7B-Chat
✨ 主要特性
- 由多个开源 AI 社区的领导者共同开发,保证了模型开发的多元性和专业性。
- 在 OASST1 和 Dolly2 上进行微调,显著提升了聊天能力。
📦 安装指南
请注意,该模型需要 transformers
版本 >= 4.25.1。
若要使用 int8 进行推理,请确保已安装 accelerate
和 bitsandbytes
,可以使用以下命令进行安装:
pip install accelerate
pip install bitsandbytes
💻 使用示例
基础用法
以下是在 GPU 上进行推理的示例代码:
import torch
import transformers
from transformers import AutoTokenizer, AutoModelForCausalLM
MIN_TRANSFORMERS_VERSION = '4.25.1'
# check transformers version
assert transformers.__version__ >= MIN_TRANSFORMERS_VERSION, f'Please upgrade transformers to version {MIN_TRANSFORMERS_VERSION} or higher.'
# init
tokenizer = AutoTokenizer.from_pretrained("togethercomputer/RedPajama-INCITE-7B-Chat")
model = AutoModelForCausalLM.from_pretrained("togethercomputer/RedPajama-INCITE-7B-Chat", torch_dtype=torch.float16)
model = model.to('cuda:0')
# infer
prompt = "<human>: Who is Alan Turing?\n<bot>:"
inputs = tokenizer(prompt, return_tensors='pt').to(model.device)
input_length = inputs.input_ids.shape[1]
outputs = model.generate(
**inputs, max_new_tokens=128, do_sample=True, temperature=0.7, top_p=0.7, top_k=50, return_dict_in_generate=True
)
token = outputs.sequences[0, input_length:]
output_str = tokenizer.decode(token)
print(output_str)
"""
Alan Mathison Turing (23 June 1912 7 June 1954) was an English computer scientist, mathematician, logician, cryptanalyst, philosopher, mathematician, and theoretical biologist.
"""
高级用法
GPU Inference in Int8
此方法需要一个具有 12GB 内存的 GPU。
import torch
import transformers
from transformers import AutoTokenizer, AutoModelForCausalLM
MIN_TRANSFORMERS_VERSION = '4.25.1'
# check transformers version
assert transformers.__version__ >= MIN_TRANSFORMERS_VERSION, f'Please upgrade transformers to version {MIN_TRANSFORMERS_VERSION} or higher.'
# init
tokenizer = AutoTokenizer.from_pretrained("togethercomputer/RedPajama-INCITE-7B-Chat")
model = AutoModelForCausalLM.from_pretrained("togethercomputer/RedPajama-INCITE-7B-Chat", device_map='auto', torch_dtype=torch.float16, load_in_8bit=True)
# infer
prompt = "<human>: Who is Alan Turing?\n<bot>:"
inputs = tokenizer(prompt, return_tensors='pt').to(model.device)
input_length = inputs.input_ids.shape[1]
outputs = model.generate(
**inputs, max_new_tokens=128, do_sample=True, temperature=0.7, top_p=0.7, top_k=50, return_dict_in_generate=True
)
token = outputs.sequences[0, input_length:]
output_str = tokenizer.decode(token)
print(output_str)
"""
Alan Mathison Turing (23 June 1912 – 7 June 1954) was an English computer scientist, mathematician, logician, cryptanalyst, philosopher, and theoretical biologist.
"""
CPU Inference
import torch
import transformers
from transformers import AutoTokenizer, AutoModelForCausalLM
MIN_TRANSFORMERS_VERSION = '4.25.1'
# check transformers version
assert transformers.__version__ >= MIN_TRANSFORMERS_VERSION, f'Please upgrade transformers to version {MIN_TRANSFORMERS_VERSION} or higher.'
# init
tokenizer = AutoTokenizer.from_pretrained("togethercomputer/RedPajama-INCITE-7B-Chat")
model = AutoModelForCausalLM.from_pretrained("togethercomputer/RedPajama-INCITE-7B-Chat", torch_dtype=torch.bfloat16)
# infer
prompt = "<human>: Who is Alan Turing?\n<bot>:"
inputs = tokenizer(prompt, return_tensors='pt').to(model.device)
input_length = inputs.input_ids.shape[1]
outputs = model.generate(
**inputs, max_new_tokens=128, do_sample=True, temperature=0.7, top_p=0.7, top_k=50, return_dict_in_generate=True
)
token = outputs.sequences[0, input_length:]
output_str = tokenizer.decode(token)
print(output_str)
"""
Alan Mathison Turing, OBE, FRS, (23 June 1912 – 7 June 1954) was an English computer scientist, mathematician, logician, cryptanalyst, philosopher, and theoretical biologist.
"""
⚠️ 重要提示
由于
LayerNormKernelImpl
未在 CPU 的 fp16 中实现,因此在 CPU 推理时使用bfloat16
。
📚 详细文档
模型详情
属性 | 详情 |
---|---|
开发团队 | Together Computer |
模型类型 | 语言模型 |
支持语言 | 英语 |
许可证 | Apache 2.0 |
模型描述 | 一个具有 69 亿参数的预训练语言模型 |
使用方式
直接使用
排除的使用情况如下所述。
滥用、恶意使用和超出范围使用
最终用户有责任确保以负责任和合乎道德的方式使用该模型。
超出范围使用
RedPajama-INCITE-7B-Chat
是一个语言模型,对于其预期范围之外的其他用例可能表现不佳。例如,它可能不适用于安全关键型应用程序或用于做出对个人或社会有重大影响的决策。重要的是要考虑模型的局限性,并仅将其用于预期目的。
滥用和恶意使用
RedPajama-INCITE-7B-Chat
是为语言建模而设计的。滥用该模型,例如使用它从事非法或不道德活动,是严格禁止的,并且违反了项目的原则。
使用该模型生成对个人残酷的内容是对该模型的滥用。这包括但不限于:
- 生成假新闻、错误信息或宣传内容
- 宣传针对个人或群体的仇恨言论、歧视或暴力
- 在未经同意的情况下冒充个人或组织
- 进行网络欺凌或骚扰
- 诽谤性内容
- 垃圾邮件或诈骗
- 在没有适当授权的情况下分享机密或敏感信息
- 违反模型或用于训练它的数据的使用条款
- 创建用于恶意目的的自动化机器人,如传播恶意软件、钓鱼诈骗或垃圾邮件
局限性
RedPajama-INCITE-7B-Chat
与其他语言模型一样,有一些需要考虑的局限性。例如,该模型可能并不总是提供准确或相关的答案,特别是对于复杂、模糊或超出其训练数据范围的问题。因此,我们欢迎个人和组织的贡献,并鼓励合作以创建更强大和包容的聊天机器人。
训练
训练数据 请参考 togethercomputer/RedPajama-Data-1T
训练过程
- 硬件:8 个 A100
- 优化器:Adam
- 梯度累积:1
- 令牌数量:7900 万个令牌
- 学习率:1e-5
社区
加入我们的 Together Discord
📄 许可证
本项目采用 Apache 2.0 许可证。



