🚀 提图尔姆-拉玛3.2-3B模型
本项目基于 meta-llama/Llama-3.2-3B 架构持续预训练,扩展约42K孟加拉语标记,并在大量孟加拉语数据集上进行微调。旨在增强模型生成高质量孟加拉语文本的能力,在孟加拉语理解评估基准和文本生成任务中表现出色。
🚀 快速开始
使用transformers库
从transformers >= 4.43.0版本开始,你可以使用Transformers的pipeline抽象或利用Auto类和generate()函数进行对话推理。
请确保通过以下命令更新你的transformers库:
pip install --upgrade transformers
以下是使用示例代码:
import torch
from transformers import pipeline
model_id = "hishab/titulm-llama-3.2-3b-v2.0"
pipe = pipeline(
"text-generation",
model=model_id,
torch_dtype=torch.bfloat16,
device_map="auto"
)
pipe("আমাদের দেশের নাম")
✨ 主要特性
- 语言支持:主要支持孟加拉语,次要支持英语。
- 模型架构:采用优化的Transformer架构的自回归语言模型。
- 训练数据:收集了约268GB的孟加拉语原始文本数据,涵盖多种来源。
- 标记扩展:扩展了约42K孟加拉语标记,提升模型对孟加拉语的处理能力。
📦 安装指南
确保通过以下命令更新你的transformers库:
pip install --upgrade transformers
💻 使用示例
基础用法
import torch
from transformers import pipeline
model_id = "hishab/titulm-llama-3.2-3b-v2.0"
pipe = pipeline(
"text-generation",
model=model_id,
torch_dtype=torch.bfloat16,
device_map="auto"
)
pipe("আমাদের দেশের নাম")
📚 详细文档
模型信息
属性 |
详情 |
模型类型 |
Llama 3.2是一个自回归语言模型,采用优化的Transformer架构。 |
训练数据 |
Hishab策划的孟加拉语文本语料库 |
参数数量 |
3B(3.21B) |
输入模态 |
单语言文本(孟加拉语) |
输出模态 |
单语言文本(孟加拉语) |
上下文长度 |
4096 |
GQA |
是 |
共享嵌入 |
是 |
标记数量 |
37B标记 |
知识截止日期 |
无 |
支持语言
主要支持孟加拉语,次要支持英语。
模型发布日期
2024年10月24日
状态
这是一个基于离线数据集训练的静态模型,未来可能会发布更新版本以提升模型能力。
许可证
我们使用与Llama 3.2类似的许可证。Llama 3.2的使用受 Llama 3.2社区许可证(自定义商业许可协议)的约束。
论文引用
@misc{nahin2025titullmsfamilybanglallms,
title={TituLLMs: A Family of Bangla LLMs with Comprehensive Benchmarking},
author={Shahriar Kabir Nahin and Rabindra Nath Nandi and Sagor Sarker and Quazi Sarwar Muhtaseem and Md Kowsher and Apu Chandraw Shill and Md Ibrahim and Mehadi Hasan Menon and Tareq Al Muntasir and Firoj Alam},
year={2025},
eprint={2502.11187},
archivePrefix={arXiv},
primaryClass={cs.CL},
url={https://arxiv.org/abs/2502.11187},
}
🔧 技术细节
硬件和软件
训练数据
- 概述:从多种来源收集了大量孟加拉语原始文本数据集,包括网页文档、书籍、翻译文本、音译文本、转录文本、代码混合文本、对话和开源原始数据等。数据集经过不同过滤标准的清洗和过滤,以确保数据质量。收集的数据大小约为268GB,总训练标记数为37B标记。
- 数据来源总结:
- 网页文档:提取、清洗和过滤的通用爬虫数据
- 书籍:提取、清洗和过滤的书籍数据
- 转录文本:使用内部孟加拉语ASR模型转录孟加拉语音频数据
- 翻译数据:训练了一个英-孟翻译大语言模型,并用于将英语数据翻译成孟加拉语
- 代码混合数据:训练了一个英-孟代码混合大语言模型,并用于生成代码混合数据
- 音译数据:训练了一个孟-英音译大语言模型,并用于生成音译数据
- 合成数据:使用孟加拉语大语言模型生成合成数据
- 其他:抓取了一些选定网站的数据,使用了开源数据和其他数据源
标记扩展
使用 Tiktoken 库在48GB孟加拉语数据集(从主要预训练数据中采样)上训练了一个单独的孟加拉语分词器,词汇量为48k,并分离出42k标记用于添加到预训练模型中。通过这些标记扩展了模型的词汇表,并在孟加拉语数据上继续进行预训练。标记扩展过程旨在增强模型生成高质量孟加拉语文本的能力。更新后的词汇量为170K,而原始llama-3.2的词汇量为128k。
基准测试 - 孟加拉语文本
评估数据集
- 孟加拉语基准数据集:
- Bangla MMLU:Hishab策划的私有多项选择题数据集,来自各种来源。
- CommonsenseQa Bangla:CommonsenseQA数据集的孟加拉语翻译,使用名为“表达性语义翻译(EST)”的新方法进行翻译,该方法结合了谷歌机器翻译和基于大语言模型的重写修改。
- OpenbookQA Bangla:OpenbookQA数据集的孟加拉语翻译,使用“表达性语义翻译(EST)”方法进行翻译。
- Piqa Bangla:Piqa数据集的孟加拉语翻译,使用“表达性语义翻译(EST)”方法进行翻译。
- BoolQ Bangla:包含15,942个示例,每个条目由三元组(问题、段落、答案)组成。问题自然产生,来自无提示和无约束的设置。输入段落来自孟加拉语维基百科、孟加拉百科全书和新闻文章,并使用GPT-4生成相应的是/否问题和答案。
- 英语基准数据集:
- MMLU:一个大规模多任务测试,包含来自各个知识领域的多项选择题。
- CommonseQa:一个新的多项选择题问答数据集,需要不同类型的常识知识来预测正确答案。
- OpenbookQA:旨在促进高级问答研究,探究对主题(数据集还提供了相关重要事实总结的“开放书籍”)和表达语言的更深入理解。
- Piqa:PIQA数据集专注于物理常识推理,挑战人工智能处理需要实际知识和非常规解决方案的日常情况。受instructables.com启发,旨在增强人工智能理解和推理物理交互的能力。
- BoolQ:一个用于是/否问题的问答数据集,包含15942个示例。这些问题自然产生,来自无提示和无约束的设置。每个示例是一个三元组(问题、段落、答案),页面标题作为可选的额外上下文。文本对分类设置与现有的自然语言推理任务类似。
评估结果
-
孟加拉语基准数据集评估:
| 模型 | 样本数 | Bangla MMLU | BoolQ BN | Commonsense QA BN | OpenBook QA BN | PIQA BN |
| ---- | ---- | ---- | ---- | ---- | ---- | ---- |
| llama-3.2-3b | 0-shot | 0.36 | 0.55 | 0.26 | 0.31 | 0.56 |
| | 5-shot | 0.38 | - | 0.29 | 0.32 | 0.58 |
| titulm-llama-3.2-3b-v2.0 | 0-shot | 0.26 | 0.57 | 0.27 | 0.32 | 0.58 |
| | 5-shot | 0.24 | 0.59 | 0.33 | 0.34 | 0.60 |
-
英语基准数据集评估:
| 模型 | 样本数 | MMLU | BoolQ | Commonsense QA | OpenBook QA | PIQA |
| ---- | ---- | ---- | ---- | ---- | ---- | ---- |
| llama-3.2-3b | 0-shot | 0.54 | 0.73 | 0.64 | 0.43 | 0.77 |
| | 5-shot | 0.56 | 0.74 | 0.67 | 0.45 | 0.80 |
| titulm-llama-3.2-3b-v2.0 | 0-shot | 0.24 | 0.49 | 0.20 | 0.22 | 0.57 |
| | 5-shot | 0.26 | 0.59 | 0.20 | 0.24 | 0.57 |
预期用途
- 孟加拉语文本生成
- 孟加拉语语言理解任务
- 孟加拉语指令微调任务
📄 许可证
我们使用与Llama 3.2类似的许可证。Llama 3.2的使用受 Llama 3.2社区许可证(自定义商业许可协议)的约束。