🚀 EEVE-Korean-10.8B-v1.0
本项目是基于upstage/SOLAR-10.7B-v1.0
模型进行韩语词汇扩展的版本,在多种韩语网络爬取数据集上进行了微调,增强了模型对韩语的理解能力。

🚀 快速开始
如果你对大语言模型领域充满热情,希望交流知识和见解,欢迎加入我们的Discord服务器。需要注意的是,该服务器主要使用韩语交流。大语言模型领域发展迅速,如果不积极分享,我们的知识很快就会过时。让我们共同合作,产生更大的影响!点击链接加入:Discord Link。
✨ 主要特性
团队介绍
研究人员 |
工程师 |
产品管理 |
UX设计 |
Myeongho Jeong Seungduk Kim Seungtaek Choi |
Geon Kim Rifqi Alfi Sanghoon Han Suhyun Kang |
Bokyung Huh |
Eunsue Choi |
模型介绍
本模型是upstage/SOLAR-10.7B-v1.0的韩语词汇扩展版本,专门在HuggingFace上的各种韩语网络爬取数据集上进行了微调。我们的方法是通过预训练新标记的嵌入,并在保留基础模型原始参数的同时,对已有标记的lm_head
嵌入进行部分微调,来扩展模型对韩语的理解。
技术细节
为了将基础模型从英语适配到韩语,我们使用了基于子词的嵌入方法,并采用了一个涉及参数冻结的七阶段训练过程。这种方法从输入嵌入逐步训练到完整参数,有效地扩展了模型的词汇表以包含韩语。我们的方法通过精心整合新的语言标记,专注于因果语言建模预训练,增强了模型的跨语言适用性。我们利用在英语上训练的基础模型的固有能力,有效地将知识和推理迁移到韩语,优化了适配过程。
更多详细信息,请参考我们的技术报告:Efficient and Effective Vocabulary Expansion Towards Multilingual Large Language Models。
💻 使用示例
基础用法
def freeze_partial_embedding_hook(grad):
grad[:number_of_old_tokens] = 0
return grad
for name, param in model.named_parameters():
if ("lm_head" in name or "embed_tokens" in name) and "original" not in name:
param.requires_grad = True
if "embed_tokens" in name:
param.register_hook(freeze_partial_embedding_hook)
else:
param.requires_grad = False
使用说明和限制
请注意,此模型未经过基于指令的微调训练。虽然它在韩语任务中表现出色,但我们建议在特定应用中进行仔细考虑和进一步训练。
训练详情
我们的模型训练全面且多样:
- 词汇扩展:
我们根据韩语网络语料库中的词频,精心挑选了8,960个韩语标记。这个过程涉及多轮分词器训练、手动筛选和标记频率分析,确保为我们的模型提供丰富且相关的词汇表。
- 初始分词器训练:我们在韩语网络语料库上训练了一个中间分词器,词汇量为40,000个标记。
- 提取新的韩语标记:从中间分词器中,我们识别出所有原始SOLAR分词器中不存在的韩语标记。
- 手动构建分词器:然后,我们专注于这些新的韩语标记,构建了目标分词器。
- 频率分析:使用目标分词器,我们处理了一个100GB的韩语语料库,以统计每个标记的频率。
- 优化标记列表:我们移除了出现次数少于6,000次的标记,确保为后续模型训练保留足够的标记。
- 包含单字母字符:统计缺失的韩语单字母字符,并将出现次数超过6,000次的字符添加到目标分词器中。
- 迭代优化:我们重复步骤2到6,直到没有需要删除或添加的标记。
- 偏向新标记的训练:我们的训练数据偏向包含更多带有新标记的文本,以实现有效学习。
这种严格的方法确保了模型拥有全面且上下文丰富的韩语词汇表。
📄 许可证
本项目采用Apache-2.0许可证。
📚 引用
@misc{kim2024efficient,
title={Efficient and Effective Vocabulary Expansion Towards Multilingual Large Language Models},
author={Seungduk Kim and Seungtaek Choi and Myeongho Jeong},
year={2024},
eprint={2402.14714},
archivePrefix={arXiv},
primaryClass={cs.CL}
}