Hare-1.1B-base
| [GitHub] |? Hugging Face | ? ArXiv |
Hare-1.1B-base是由中国电信股份有限公司贵州分公司LiteAI团队开发的预训练模型。我们使用高质量开源和策略生成的合成数据作为预训练数据。该模型大小仅为1.1B,并在Open LLM Leaderboard上表现优异。
我们选择Mistral架构作为基础框架,并复用了其分词器,通过调整模型架构的超参来减少参数量。因此,我们的模型可以直接应用于许多支持Mistral的开源项目,如vLLM。
我们模型的参数量仅为 11 亿,因此,我们可以将模型部署到消费级显卡、手机端等成本较低的设备上。
我们探索了FP8精度下的高效训练,并总结了一份最佳实践,希望能为开源社区LLM训练作出力所能及的贡献。最佳实践请看GitHub主页。
我们正在研发与适配中文。
模型细节
Model | Training Tokens | Hidden layers | Hidden Size | Attention Heads | Context Length |
---|---|---|---|---|---|
Hare-1.1B-base | ~ 600B | 22 | 2048 | 32 | 2048 |
模型说明
- 开发者:LiteAI Team
- 机构:中国电信股份有限公司贵州分公司
- 模型大小:1.1B
- 协议:Apache 2.0
模型使用
推理
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
device = "cuda" if torch.cuda.is_available() else "cpu"
model_path = "LiteAI-Team/Hare-1.1B-base"
tokenizer = AutoTokenizer.from_pretrained(model_path)
model = AutoModelForCausalLM.from_pretrained(model_path)
model.to(device)
prompt = "Write a poem based on the landscape of Guizhou:"
tokens = tokenizer(prompt, add_special_tokens=True, return_tensors='pt').to(device)
output = model.generate(**tokens,max_new_tokens=128)
output_tokens = output[0].cpu().numpy()[tokens.input_ids.size()[1]:]
output_string = tokenizer.decode(output_tokens)
print(output_string)
>> "The Guizhou landscape is a sight to behold,
A place where nature's beauty is unmatched,
A land of towering mountains and vast plains,
A paradise for those who seek to explore.
The mountains rise high above the sky,
A sight to beholder, a sight to see,
The valleys stretch out as far as the eye can see,
A landscape of endless beauty and grace."
使用vllm进行推理:
pip install vllm
from vllm import LLM, SamplingParams
from transformers import AutoTokenizer
model_path = "LiteAI-Team/Hare-1.1B-base"
llm = LLM(model=model_path, trust_remote_code=True, tensor_parallel_size=4)
query = "Write a poem based on the landscape of Guizhou:"
sampling_params = SamplingParams(temperature=0.8, top_p=0.95, max_tokens=64)
outputs = llm.generate(query, sampling_params)
print(outputs)
端侧部署demo
我们的模型参数量仅有1.1B,经Int4量化后,模型仅占用0.6G的空间,可轻松部署在手机端。Hare-1.1B-Chat模型权重已经开源。
- Android:我们选择MLC-LLM作为部署框架,在Redmi K40上进行Chat模型的部署测试。
- iOS & HarmonyOS:我们将在未来对上述设备进行部署测试。
工具调用实践
- 为完全发挥出小模型在端侧部署上的优势,我们对照Octopus-v2的工作并使用Hare-1.1B-Tool替换Gemma-2B,成功在手机端实现安卓系统API调用和组合场景下的工具调用能力。
- 请您点击下面图片观看。
评测结果
- 同时,我们针对benchmark数据泄漏问题做了探索与实验,详细分析请参考我们的论文。
Model(base) | Size | avg | MMLU | ARC-C | TruthfulQA | Winogrande | Hellaswag | GSM8K |
---|---|---|---|---|---|---|---|---|
phi-1_5 | 1.3B | 47.69 | 43.89 | 52.9 | 40.89 | 72.22 | 63.79 | 12.43 |
Qwen-1.5 | 1.8B | 46.55 | 46.71 | 37.88 | 39.43 | 60.3 | 61.42 | 33.59 |
stablelm-2 | 1.6B | 45.25 | 38.95 | 43.34 | 36.78 | 64.56 | 70.45 | 17.44 |
Hare | 1.1B | 40.17 | 35.74 | 38.4 | 42.08 | 59.27 | 57.46 | 8.04 |
H2o-danube | 1.8B | 39.12 | 25.94 | 39.42 | 33.86 | 64.48 | 69.58 | 1.44 |
OpenELM | 1.1B | 38.47 | 27.05 | 36.69 | 33.86 | 63.22 | 65.71 | 1.21 |
csg-wukong | 1B | 37.78 | 25.33 | 37.71 | 42.79 | 56.67 | 58.93 | 5.23 |
TinyLlama-3T | 1.1B | 36.42 | 26.04 | 33.87 | 37.32 | 59.51 | 60.31 | 1.44 |
协议
本仓库遵循Apache-2.0协议开源。
Hare系列模型权重目前仅对学术研究完全开放。
声明
- Hare是一个基于开源预训练数据和策略合成预训练数据混合训练得到的语言模型,它不具备价值判断能力,无法理解、表达个人观点,模型的输出内容不代表LiteAI开发团队的观点与立场。
- 因此,您使用Hare生成的内容可能存有偏观点和不实情况,请您酌情使用。
- 同样,我们将不承担用户故意使用Hare进行有害内容生成所带来的任何风险与问题。
- 如涉及到本仓库的修改,请联系:zhangly41 At(@) chinatelecom.cn。
- 团队联系方式:chensq27 At(@) chinatelecom.cn,LiteAI团队期待您的合作。
工作引用
- 如果您觉得Hare对您的工作起到了帮助,请考虑引用我们的论文。
@misc{zhang2024harehumanpriorskey,
title={HARE: HumAn pRiors, a key to small language model Efficiency},
author={Lingyun Zhang and Bin jin and Gaojian Ge and Lunhui Liu and Xuewen Shen and Mingyong Wu and Houqian Zhang and Yongneng Jiang and Shiqi Chen and Shi Pu},
year={2024},
eprint={2406.11410},
archivePrefix={arXiv},
primaryClass={cs.CL}
url={https://arxiv.org/abs/2406.11410},
}
评论