Microsoft UniLM 项目详细介绍
项目概述
Microsoft UniLM是微软研究院开发的大规模自监督预训练模型库,专注于跨任务、跨语言、跨模态的基础模型研究。该项目致力于开发新的基础模型架构和AI,专注于建模通用性和能力,以及训练稳定性和效率。
项目地址: https://github.com/microsoft/unilm
核心理念:大统一收敛
UniLM项目的核心理念是"大统一收敛"(The Big Convergence),即在以下三个维度实现大规模自监督预训练:
- 跨任务: 预测性和生成性任务
- 跨语言: 支持100多种语言
- 跨模态: 语言、图像、音频、布局格式、视觉+语言、音频+语言等
主要技术栈
1. TorchScale架构库
基础架构研究,专注于:
- 稳定性: DeepNet - 将Transformer扩展到1000层及以上
- 通用性: Foundation Transformers (Magneto) - 跨任务和模态的真正通用建模
- 能力: Length-Extrapolatable Transformer - 长序列处理能力
- 效率: X-MoE、BitNet、RetNet、LongNet等高效架构
2. 语言模型系列
UniLM系列
- UniLM: 统一的语言理解和生成预训练
- InfoXLM/XLM-E: 支持100多种语言的多语言/跨语言预训练模型
- DeltaLM/mT6: 用于语言生成和翻译的编码器-解码器预训练
- MiniLM: 小型快速的语言理解和生成预训练模型
- AdaLM: 预训练模型的领域、语言和任务适应
- EdgeLM: 边缘/客户端设备上的小型预训练模型
- SimLM: 相似性匹配的大规模预训练
- E5: 文本嵌入模型
- MiniLLM: 大语言模型的知识蒸馏
多模态大语言模型
- Kosmos-1: 多模态大语言模型(MLLM)
- Kosmos-2: 基于世界的多模态大语言模型
- Kosmos-2.5: 多模态文档理解模型
- MetaLM: 语言模型作为基础模型的通用接口
3. 视觉模型系列
BEiT系列
- BEiT: 视觉生成式自监督预训练
- BEiT-2: BERT风格的图像Transformer预训练
- BEiT-3: 通用多模态基础模型,是跨任务、语言和模态大规模预训练的重要里程碑
文档AI模型
- DiT: 文档图像Transformer的自监督预训练
- TextDiffuser/TextDiffuser-2: 作为文本画家的扩散模型
- LayoutLM/LayoutLMv2/LayoutLMv3: 多模态(文本+布局+图像)文档基础模型
- LayoutXLM: 多语言文档AI的多模态基础模型
- MarkupLM: 标记语言模型预训练,用于视觉丰富的文档理解
- XDoc: 跨格式文档理解的统一预训练
- TrOCR: 基于Transformer的OCR预训练模型
- LayoutReader: 文本和布局预训练用于阅读顺序检测
4. 语音模型系列
- WavLM: 全栈任务的语音预训练
- VALL-E: 用于TTS的神经编解码语言模型
- UniSpeech: ASR的自监督和监督学习统一预训练
- UniSpeech-SAT: 具有说话人感知预训练的通用语音表示学习
- SpeechT5: 口语处理的编码器-解码器预训练
- SpeechLM: 使用无配对文本数据的增强语音预训练
5. 视觉-语言模型
- VLMo: 统一的视觉-语言预训练
- VL-BEiT: 生成式视觉-语言预训练
核心技术特点
1. 架构创新
- DeepNet: 支持扩展到1000层的深度网络
- Magneto: 真正的通用建模架构
- BitNet: 1-bit Transformer架构
- RetNet: 作为Transformer继任者的保持网络
- LongNet: 扩展到10亿token的长序列处理
2. 训练效率优化
- X-MoE: 可扩展和可微调的稀疏专家混合模型
- Aggressive Decoding: 无损高效的序列到序列解码算法
- Knowledge Distillation: 模型压缩和加速技术
3. 多语言支持
- 支持100多种语言
- 跨语言迁移学习
- 多语言文档理解
4. 多模态融合
- 文本+图像+布局的统一建模
- 视觉-语言理解和生成
- 语音-文本跨模态处理
应用领域
1. 自然语言处理
- 语言理解和生成
- 机器翻译
- 文本分类和情感分析
- 问答系统
2. 文档AI
- 文档布局分析
- 表单理解
- OCR文本识别
- 文档问答
3. 计算机视觉
- 图像分类
- 目标检测
- 图像生成
- 视觉问答
4. 语音处理
- 语音识别(ASR)
- 语音合成(TTS)
- 语音理解
- 多语言语音处理
技术栈与工具
开发框架
- 基于PyTorch开发
- 集成HuggingFace Transformers
- 支持分布式训练
预训练数据
- 大规模多语言文本数据
- 图像-文本配对数据
- 语音数据
- 文档图像数据
评估基准
- GLUE、SuperGLUE语言理解基准
- XTREME多语言基准
- VQA视觉问答基准
- DocVQA文档问答基准
- SUPERB语音基准
UniLM项目代表了微软在基础模型和通用人工智能领域的前沿研究,为学术界和工业界提供了强大的工具和基础设施,推动了多模态AI技术的发展和应用。