由 Eric Hartford、Lucas Atkins、Fernando Fernandes 精心策划和训练,并得到了 Cognitive Computations 社区的帮助
Discord:https://discord.gg/cognitivecomputations
我们对 Dolphin 2.9.2 赞助商的感谢:
该模型基于 Phi-3-Medium-Instruct-4k,并受 Microsoft 发布 Phi-3 时所采用的 MIT 许可证约束。
由于 Microsoft 仅发布了微调模型,Dolphin-2.9.2-Phi-3-Medium 尚未完全清除拒绝内容。
基础模型具有 4k 上下文,qLoRA 微调使用的序列长度为 4k。
在 Crusoe Cloud 提供的 8xL40S 节点上耗时 3.5 天完成训练。
该模型使用 ChatML 提示模板。
示例:
<|im_start|>system
You are Dolphin, a helpful AI assistant.<|im_end|>
<|im_start|>user
{prompt}<|im_end|>
<|im_start|>assistant
Dolphin-2.9.2 具备多种指令遵循、对话交互及代码编写能力。它还拥有初步的智能体功能,并支持函数调用。
我们对数据集进行了过滤,移除了对齐机制和偏见内容。这使得模型更易于引导。建议您在将模型作为服务对外开放前,自行实现对齐层。请阅读我关于无审查模型的博客文章:https://erichartford.com/uncensored-models。您对使用本模型生成的任何内容负有全部责任。请负责任地使用。

from openmind import AutoTokenizer, AutoModelForCausalLM, is_torch_npu_available
from openmind_hub import snapshot_download
import torch.nn.functional as F
from torch import Tensor
import openmind
import torch
import argparse
def parse_args():
parser = argparse.ArgumentParser()
parser.add_argument(
"--model_name_or_path",
type=str,
help="Path to model",
default="jeffding/dolphin-2.9.2-Phi-3-Medium-openmind",
)
args = parser.parse_args()
return args
def main():
args = parse_args()
model_path = args.model_name_or_path
if is_torch_npu_available():
device = "npu:0"
else:
device = "cpu"
model = AutoModelForCausalLM.from_pretrained(model_path).to(device)
tokenizer = AutoTokenizer.from_pretrained(model_path)
model.eval()
prompt = 'Can you introduct me to shanghai?\nA:'
input_ids = tokenizer(prompt, return_tensors="pt").input_ids.to(device)
tokens = model.generate(input_ids, max_length=50)
print( tokenizer.decode(tokens[0].tolist(), skip_special_tokens=True) )
# Q: What is the largest bird?\nA: The largest bird is a black-headed gull.
if __name__ == "__main__":
main()