模型:
togethercomputer/RedPajama-INCITE-7B-Instruct
RedPajama-INCITE-7B-Instruct由Together和来自开源AI社区的领导者共同开发,包括Ontocord.ai、ETH DS3Lab、AAI CERC、蒙特利尔大学、魁北克AI研究所MILA、斯坦福大学基础模型研究中心(CRFM)、斯坦福大学Hazy Research研究小组和LAION。
该模型是在 GPT-JT 的数据上进行了少样本应用的微调,排除了与HELM核心场景重叠的任务。
请注意,该模型需要transformers版本>=4.25.1。
这需要一块16GB内存的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-Instruct") model = AutoModelForCausalLM.from_pretrained("togethercomputer/RedPajama-INCITE-7B-Instruct", torch_dtype=torch.float16) model = model.to('cuda:0') # infer prompt = "Q: The capital of France is?\nA:" 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) """ Paris """
这需要一块12GB内存的GPU。
要进行int8的推理,请确保已安装accelerate和bitandbytes。您可以使用以下命令安装它们:
pip install accelerate pip install bitsandbytes
然后可以按照以下方式进行int8推理:
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-Instruct") model = AutoModelForCausalLM.from_pretrained("togethercomputer/RedPajama-INCITE-7B-Instruct", device_map='auto', torch_dtype=torch.float16, load_in_8bit=True) # infer prompt = "Q: The capital of France is?\nA:" 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) """ Paris """
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-Instruct") model = AutoModelForCausalLM.from_pretrained("togethercomputer/RedPajama-INCITE-7B-Instruct", torch_dtype=torch.bfloat16) # infer prompt = "Q: The capital of France is?\nA:" 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) """ Paris """
请注意,由于LayerNormKernelImpl未实现fp16用于CPU,我们在CPU推理中使用bfloat16。
下面描述了被排除使用的情况。
最终用户有责任确保以负责任和道德的方式使用模型。
超出范围的使用RedPajama-INCITE-7B-Instruct是一种语言模型,可能在其预期范围之外的其他用例中表现不佳。例如,它可能不适用于安全关键应用或对个人或社会产生重大影响的决策。重要的是考虑模型的局限性,并仅根据其预期目的使用它。
滥用和恶意使用RedPajama-INCITE-7B-Instruct是为语言建模而设计的。严禁滥用模型,例如将其用于非法或不道德的活动,这与该项目的原则相违背。
滥用该模型以产生对个人残忍的内容是不当使用该模型。这包括但不限于:
RedPajama-INCITE-7B-Instruct和其他语言模型一样,具有一些限制需要考虑。例如,该模型可能无法始终提供准确或相关的答案,特别是对于复杂、模糊或超出训练数据范围的问题。因此,我们欢迎个人和组织的贡献,并鼓励共同努力创建更强大、更包容的聊天机器人。
训练数据
请参阅 togethercomputer/RedPajama-Data-1T
训练过程
加入我们的 Together Discord