九章云极DataCanvas重磅发布的元识大模型Alaya,在自主整理的高品质多语言数据集上训练了1.5T+ tokens。
首先在Hugging Face开源了7B-Base和7B-Chat版本,模型表现业内领先,知识丰富且富有时效性,最新数据覆盖2023年10月的内容。Alaya-7B-Chat具备多轮对话、自我认知和偏见拒答的能力,能够完成知识问答、代码编写、信息提取、阅读理解、创意写作等多项语言任务。
Alaya使用了自研的大规模、多语言语料库,并采用文本去重和过滤这两种方法来控制数据品质。在文本去重上,我们采用了Fuzzy match 的策略,使用MinHash + LSH 筛选相似段落和文档,并结合编辑距离实现细致的文本去重。在针对低质量的文本数据过滤上,首先采用启发式的方法过滤掉部分不符合要求文本,然后训练了二分类器用于预测给定的网页文本是否适合,选择性丢弃一些数据。
Alaya预训练数据中,英文语料占比约60%,中文语料占比约30%,代码语料占比约10%。为了更好地控制不同类型的语料参与训练的比例,对所有语料都做了分类,各个类型的语料token占比细节如下图所示:
训练Alaya的过程中,使用的超参如下:
| Hidden Dimension | 4096 |
|---|---|
| Number of Attention Heads | 32 |
| Number of Layers | 32 |
| Vocabulary Size | 60160 |
| Optimizer | Decoupled AdamW ($\beta_1$=0.9, $\beta_2$ =0.95, $\epsilon$ = 1.0e-8) |
| Max Learning Rate | 1.2e-4 |
| Min Learning Rate | 1.2e-5 |
| Scheduler | Cosine Decay with Warmup |
| Weight Decay | 1.0e-5 |
| Gradient Clip Norm | 0.3 |
Alaya-Chat基于Alaya-7B进行有监督微调(SFT),微调数据量达500k+条,包含多领域的指令和对话数据。经过模型初筛和人工精筛,大幅提高微调数据品质,并且基于偏见语料对模型做了Red Teaming拒答微调。由于目前中文SFT语料多为机器翻译/大模型翻译而成,人工精筛可以进一步将其中不符合中文语法或使用习惯的劣质数据剔除。具体的微调数据分布如下图:
科学设计的微调数据能够显著提升模型的问答能力,更加了解用户想要怎样的回答,提供更有效的帮助,并且不会对其在预训练阶段学习到的知识造成明显的负面影响。
git clone https://github.com/DataCanvasIO/Alaya.git
curl -LsSf https://astral.sh/uv/install.sh | sh
uv venv .venv
source .venv/bin/activate
Windows(PowerShell):
uv venv .venv
.\.venv\Scripts\Activate.ps1
uv syncuv sync --extra sftuv run python -u inferrence.py <model_path> <input_file> <output_file> [adapter_path]
已激活虚拟环境时也可直接使用:python -u inferrence.py <model_path> <input_file> <output_file> [adapter_path]。
model_path :模型文件路径input_file :推理的输入.txt文件路径,每行为一个promptoutput_file :输出的.json文件路径adapter_path:如果要使用微调后的 adapter,设置其路径
Alaya训练过程中已经采取多种措施进行数据的筛选与过滤,尽可能保证数据的合法合规,但由于神经网络的黑盒性质,即使训练数据相对干净,模型还是可能生成一些错误的、不可预见的或难以干预的回答。请谨慎使用!
请注意:
对于使用模型而导致的任何问题,九章云极将不承担任何责任。
如果您在使用的过程中发现任何问题,想要提供意见或建议,欢迎联系:sophia@zetyun.com。
Alaya使用Apache 2.0 License,开放模型权重,允许商业用途。如果您的项目引用了我们的Alaya,请标明出处,可以使用以下citation:
@misc{datacanvas2023alaya,
author = {DataCanvas Ltd.},
title = {alaya},
year = {2023},
howpublished = {https://github.com/DataCanvasIO/Alaya}
}
6 commits
6 commits
Python
100.0%
九章云极DataCanvas重磅发布的元识大模型Alaya,在自主整理的高品质多语言数据集上训练了1.5T+ tokens。
首先在Hugging Face开源了7B-Base和7B-Chat版本,模型表现业内领先,知识丰富且富有时效性,最新数据覆盖2023年10月的内容。Alaya-7B-Chat具备多轮对话、自我认知和偏见拒答的能力,能够完成知识问答、代码编写、信息提取、阅读理解、创意写作等多项语言任务。
Alaya使用了自研的大规模、多语言语料库,并采用文本去重和过滤这两种方法来控制数据品质。在文本去重上,我们采用了Fuzzy match 的策略,使用MinHash + LSH 筛选相似段落和文档,并结合编辑距离实现细致的文本去重。在针对低质量的文本数据过滤上,首先采用启发式的方法过滤掉部分不符合要求文本,然后训练了二分类器用于预测给定的网页文本是否适合,选择性丢弃一些数据。
Alaya预训练数据中,英文语料占比约60%,中文语料占比约30%,代码语料占比约10%。为了更好地控制不同类型的语料参与训练的比例,对所有语料都做了分类,各个类型的语料token占比细节如下图所示:
训练Alaya的过程中,使用的超参如下:
| Hidden Dimension | 4096 |
|---|---|
| Number of Attention Heads | 32 |
| Number of Layers | 32 |
| Vocabulary Size | 60160 |
| Optimizer | Decoupled AdamW ($\beta_1$=0.9, $\beta_2$ =0.95, $\epsilon$ = 1.0e-8) |
| Max Learning Rate | 1.2e-4 |
| Min Learning Rate | 1.2e-5 |
| Scheduler | Cosine Decay with Warmup |
| Weight Decay | 1.0e-5 |
| Gradient Clip Norm | 0.3 |
Alaya-Chat基于Alaya-7B进行有监督微调(SFT),微调数据量达500k+条,包含多领域的指令和对话数据。经过模型初筛和人工精筛,大幅提高微调数据品质,并且基于偏见语料对模型做了Red Teaming拒答微调。由于目前中文SFT语料多为机器翻译/大模型翻译而成,人工精筛可以进一步将其中不符合中文语法或使用习惯的劣质数据剔除。具体的微调数据分布如下图:
科学设计的微调数据能够显著提升模型的问答能力,更加了解用户想要怎样的回答,提供更有效的帮助,并且不会对其在预训练阶段学习到的知识造成明显的负面影响。
git clone https://github.com/DataCanvasIO/Alaya.git
curl -LsSf https://astral.sh/uv/install.sh | sh
uv venv .venv
source .venv/bin/activate
Windows(PowerShell):
uv venv .venv
.\.venv\Scripts\Activate.ps1
uv syncuv sync --extra sftuv run python -u inferrence.py <model_path> <input_file> <output_file> [adapter_path]
已激活虚拟环境时也可直接使用:python -u inferrence.py <model_path> <input_file> <output_file> [adapter_path]。
model_path :模型文件路径input_file :推理的输入.txt文件路径,每行为一个promptoutput_file :输出的.json文件路径adapter_path:如果要使用微调后的 adapter,设置其路径
Alaya训练过程中已经采取多种措施进行数据的筛选与过滤,尽可能保证数据的合法合规,但由于神经网络的黑盒性质,即使训练数据相对干净,模型还是可能生成一些错误的、不可预见的或难以干预的回答。请谨慎使用!
请注意:
对于使用模型而导致的任何问题,九章云极将不承担任何责任。
如果您在使用的过程中发现任何问题,想要提供意见或建议,欢迎联系:sophia@zetyun.com。
Alaya使用Apache 2.0 License,开放模型权重,允许商业用途。如果您的项目引用了我们的Alaya,请标明出处,可以使用以下citation:
@misc{datacanvas2023alaya,
author = {DataCanvas Ltd.},
title = {alaya},
year = {2023},
howpublished = {https://github.com/DataCanvasIO/Alaya}
}
6 commits
6 commits
Python
100.0%