🚀 KoSOLAR-10.7B-v0.2
KoSOLAR-10.7B-v0.2 是 upstage/SOLAR-10.7B-v1.0 的韩语词汇扩展版本,在多种韩语网络爬取数据集上进行了微调,提升了模型对韩语的理解和处理能力。

🚀 快速开始
加入我们的 Discord 社区!
如果您对大语言模型领域充满热情,希望交流知识和见解,我们热烈邀请您加入我们的 Discord 服务器。需要注意的是,该服务器主要使用韩语交流。大语言模型领域发展迅速,如果不积极分享,我们的知识很快就会过时。让我们一起合作,产生更大的影响!点击链接加入:Discord 链接。
✨ 主要特性
- 韩语词汇扩展:基于 upstage/SOLAR-10.7B-v1.0 扩展了韩语词汇,增强了对韩语的理解。
- 微调优化:在多种韩语网络爬取数据集上进行微调,提升了韩语任务的性能。
👥 团队成员
研究人员 |
工程师 |
产品管理 |
用户体验设计 |
Myeongho Jeong |
Geon Kim |
Bokyung Huh |
Eunsue Choi |
Seungduk Kim |
Rifqi Alfi |
|
|
Seungtaek Choi |
Sanghoon Han |
|
|
|
Suhyun Kang |
|
|
📚 详细文档
模型介绍
此模型是 upstage/SOLAR-10.7B-v1.0 的韩语词汇扩展版本,专门在 HuggingFace 上可用的各种韩语网络爬取数据集上进行了微调。我们的方法是通过预训练新标记的嵌入,并在保留基础模型原始参数的同时,部分微调已有标记的 lm_head
嵌入,来扩展模型对韩语的理解。
🔧 技术细节
以下是我们的技术实现细节:
def freeze_partial_embedding_hook(grad):
grad[:32000] = 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
我们的策略是选择性地冻结模型参数。具体来说,我们保持基础模型的大多数参数不变,同时专注于增强韩语能力。通过实验,我们发现:
- 冻结已有标记的
embed_tokens
层对于维持整体性能至关重要。
- 解冻已有标记的
lm_head
层实际上可以提高性能。
因此,我们冻结了内部层和前 32,000 个 embed_tokens
,并在丰富的韩语和多语言语料库上进行训练。这种平衡的方法显著提高了模型的韩语能力,同时不影响其原始语言能力。
使用与限制
请记住,此模型未经过基于指令的训练。虽然它在韩语任务中表现出色,但我们建议在特定应用中进行仔细考虑和进一步训练。
训练详情
我们的模型训练全面且多样化:
- 数据来源:
- 英韩段落对:5.86%
- 多语言语料库(主要是英语):10.69%
- 韩语网页内容:83.46%
- 词汇扩展:
我们根据韩语网络语料库中的出现频率,精心选择了 8,960 个韩语标记。这个过程涉及多轮分词器训练、手动筛选和标记频率分析,以确保为我们的模型提供丰富且相关的词汇。
- 初始分词器训练:在韩语网络语料库上训练一个中间分词器,词汇量为 40,000 个标记。
- 提取新的韩语标记:从中间分词器中识别出原始 SOLAR 分词器中不存在的所有韩语标记。
- 手动构建分词器:然后构建目标分词器,专注于这些新的韩语标记。
- 频率分析:使用目标分词器处理 100GB 的韩语语料库,统计每个标记的出现频率。
- 标记列表优化:移除出现次数少于 6,000 次的标记,确保有足够的标记用于后续模型训练。
- 单字母字符处理:统计缺失的韩语单字母字符,并将出现次数超过 6,000 次的字符添加到目标分词器中。
- 迭代优化:重复步骤 2 到 6,直到没有可删除或添加的标记。
- 新标记训练偏差:我们的训练数据偏向于包含更多带有新标记的文本,以实现有效学习。
📄 许可证
本项目采用 Apache-2.0 许可证。