|
--- |
|
license: apache-2.0 |
|
language: |
|
- en |
|
- zh |
|
datasets: |
|
- teknium/OpenHermes-2.5 |
|
pipeline_tag: text-generation |
|
tags: |
|
- llama |
|
- latest |
|
library_name: transformers |
|
--- |
|
|
|
![image/webp](https://cdn-uploads.huggingface.co/production/uploads/64ef2a96f2b8f40224d7b407/C7hdFdUqx88oRu_IpcCZi.webp) |
|
|
|
Gigi 是使用最先进的 Llama-3-8B-Instruct 在超过130万条经过筛选的高质量中英双语语料上进行精调,它能更好地处理各种下游任务,并为您提供高质量的中英双语结果。我们在训练中加入了包含Hermes、glaive-function-calling等高质量的指令精调数据,以及大量使用GPT3.5翻译的GPT4数据,Gigi能很好的在中英双语上满足您的需求。 |
|
|
|
# Gigi-Llama-3-8B-zh |
|
|
|
Gigi-Llama-3-8B-zh 是 Gigi 系列的第一个模型,在Hermes、glaive-function-calling、refgpt_fact_v2数据集以及一部分使用GPT3.5翻译成的中文数据上训练,同时改进了模型在中英文上的行为,还加入了COIG-CQIA、alpaca-gpt4-data-zh等中文数据集进一步增强中文能力。 |
|
|
|
# How to use |
|
|
|
Gigi-Llama-3-8B-zh 遵循 Llama-3-8B-Instruct 的对话模板,pad token 使用 `<|end_of_text|>`。 |
|
|
|
``` |
|
<|begin_of_text|><|start_header_id|>system<|end_header_id|> |
|
|
|
{{ system_prompt }}<|eot_id|><|start_header_id|>user<|end_header_id|> |
|
|
|
{{ user_msg_1 }}<|eot_id|><|start_header_id|>assistant<|end_header_id|> |
|
|
|
{{ model_answer_1 }}<|eot_id|> |
|
``` |
|
|
|
您可以使用下面代码加载模型推理,对于更高效的推理建议使用vLLM,我们随后会介绍模型的具体性能,并很快更新更大参数和性能更好的精调版本。 |
|
|
|
```python |
|
import transformers |
|
import torch |
|
|
|
model_id = "yaojialzc/Gigi-Llama-3-8B-zh" |
|
|
|
pipeline = transformers.pipeline( |
|
"text-generation", |
|
model=model_id, |
|
model_kwargs={"torch_dtype": torch.bfloat16}, |
|
device="cuda", |
|
) |
|
|
|
messages = [ |
|
{"role": "user", "content": "请给我写一个很长的故事"}, |
|
] |
|
|
|
prompt = pipeline.tokenizer.apply_chat_template( |
|
messages, |
|
tokenize=False, |
|
add_generation_prompt=True |
|
) |
|
|
|
terminators = [ |
|
pipeline.tokenizer.eos_token_id, |
|
pipeline.tokenizer.convert_tokens_to_ids("<|eot_id|>") |
|
] |
|
|
|
outputs = pipeline( |
|
prompt, |
|
max_new_tokens=256, |
|
eos_token_id=terminators, |
|
do_sample=True, |
|
temperature=0.6, |
|
top_p=0.9, |
|
) |
|
print(outputs[0]["generated_text"][len(prompt):]) |
|
``` |
|
|
|
llama 3 似乎在设置eos token时有一些问题,导致模型输出 eot 时不会停止,无法开箱即用。我们暂时尊重官方的行为,精调时指导模型在最后输出 end_of_text,方便目前开箱即用地在下游领域精调。 |
|
|