Memory Layers:如何在不增加算力成本的情况下扩大模型的参数容量?Meta 开源解决方法

本文涉及的产品
NLP 自学习平台,3个模型定制额度 1个月
NLP自然语言处理_基础版,每接口每天50万次
NLP自然语言处理_高级版,每接口累计50万次
简介: Meta 开源的 Memory Layers 技术,通过键值查找机制扩展大模型参数,显著提升模型性能,尤其适用于事实性任务。

❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦


🚀 快速阅读

  1. 功能扩展:Memory Layers 通过键值查找机制扩展模型参数,不增加计算负担。
  2. 性能提升:显著提升模型在事实性任务中的准确性,超越传统密集模型。
  3. 技术原理:基于稀疏激活和产品量化键,实现高效信息存储与检索。

正文(附运行示例)

Memory Layers 是什么

公众号: 蚝油菜花 - memory

Memory Layers 是 Meta 推出的一种通过可训练的键值查找机制为模型增加额外参数的技术。它不会增加浮点运算次数(FLOPs),而是通过稀疏激活的方式补充计算密集型的前馈层,提供专门的容量来廉价地存储和检索信息。

在大规模语言模型中,Memory Layers 显示出显著的实用性,尤其是在处理事实性任务时,能够显著提高模型的性能。通过替换 Transformer 层中的一个或多个前馈网络(FFN)为记忆层,Memory Layers 在不显著增加计算成本的情况下,显著提升了模型的事实准确性和知识获取能力。

Memory Layers 的主要功能

  • 参数扩展:支持模型在不增加计算负担(即不增加 FLOPs)的情况下增加额外的参数,扩展模型的容量。
  • 信息存储与检索:提供专门的机制存储和检索信息。
  • 补充密集层:与计算密集型的前馈层(feed-forward layers)互补,基于稀疏激活模式提供信息存储和检索的专用容量。
  • 提高事实准确性:在事实性任务中,显著提高语言模型的准确性,让模型更准确地记忆和使用训练数据中的事实。
  • 性能提升:在计算和参数匹配的情况下,让模型性能超过传统的密集模型和混合专家模型。

Memory Layers 的技术原理

  • 键值查找机制:基于简单的键值查找机制工作,其中键和值都编码为嵌入向量。给定查询向量 q,及一组键 K 和值 V,输出是值的一个软组合,权重根据 q 与对应键的相似度确定。
  • 稀疏激活:与传统的注意力机制不同,Memory Layers 中的键和值是可训练的参数,而不是激活值。由于键和值的数量通常很大,Memory Layers 需要进行稀疏查找和更新,只有与查询最相似的 top-k 键和对应的值参与输出计算。
  • 产品键查找:为解决大规模记忆中查询-键检索的瓶颈,Memory Layers 采用产品量化键(product-quantized keys),用两组较小的键有效地执行全键集的 top-k 查找。
  • 并行化实现:由于 Memory Layers 对内存的需求很大,在多个 GPU 上并行化嵌入查找和聚合实现大规模扩展。
  • 共享记忆参数:用共享的记忆参数池,在不增加参数数量的情况下,基于多个记忆层增加性能。

如何运行 Memory Layers

1. 克隆仓库并创建环境

git clone https://github.com/facebookresearch/memory
cd memory

bash setup/create_env.sh
# 或者如果你有 SLURM 集群访问权限
sbatch setup/create_env.sh

2. 激活环境

conda activate lingua_<date>

3. 下载并准备数据

python setup/download_prepare_hf_data.py fineweb_edu <MEMORY> --data_dir ./data --seed 42

4. 下载分词器

python setup/download_tokenizer.py llama3 <SAVE_PATH> --api_key <HUGGINGFACE_TOKEN>

5. 启动调试任务

# stool 代表 SLURM 工具!
python -m lingua.stool script=apps.main.train config=apps/main/configs/pkplus_373m_1024k.yaml nodes=1 partition=<partition>
# 如果你想在本地运行,可以使用 torchrun
torchrun --nproc-per-node 8 -m apps.main.train config=apps/main/configs/pkplus_373m_1024k.yaml
# 或者你也可以在 1 个 GPU 上运行
python -m apps.main.train config=apps/main/configs/pkplus_373m_1024k.yaml

资源


❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦

相关文章
|
9月前
|
人工智能 API 数据库
Cognita:小白也能搭建 RAG 系统,提供交互界面的开源模块化 RAG 框架,支持多种文档检索技术
Cognita 是一个面向生产环境的开源模块化 RAG 框架,支持本地部署、无代码 UI 和增量索引,帮助开发者轻松构建和扩展生产级应用。
487 11
Cognita:小白也能搭建 RAG 系统,提供交互界面的开源模块化 RAG 框架,支持多种文档检索技术
|
9月前
|
人工智能 自然语言处理 并行计算
VITRON:开源像素级视觉大模型,同时满足图像与视频理解、生成、分割和编辑等视觉任务
VITRON 是由 Skywork AI、新加坡国立大学和南洋理工大学联合推出的像素级视觉大模型,支持图像与视频的理解、生成、分割和编辑,适用于多种视觉任务。
581 13
VITRON:开源像素级视觉大模型,同时满足图像与视频理解、生成、分割和编辑等视觉任务
|
9月前
|
人工智能 开发框架 安全
Smolagents:三行代码就能开发 AI 智能体,Hugging Face 开源轻量级 Agent 构建库
Smolagents 是 Hugging Face 推出的轻量级开源库,旨在简化智能代理的构建过程,支持多种大语言模型集成和代码执行代理功能。
705 69
Smolagents:三行代码就能开发 AI 智能体,Hugging Face 开源轻量级 Agent 构建库
|
9月前
|
人工智能 搜索推荐
SoulChat2.0:低成本构建 AI 心理咨询师,华南理工开源心理咨询师数字孪生大语言模型
SoulChat2.0 是华南理工大学推出的心理咨询师数字孪生大语言模型,能够低成本、快速构建个性化咨询风格的心理健康大模型,辅助心理咨询师工作。
1321 9
SoulChat2.0:低成本构建 AI 心理咨询师,华南理工开源心理咨询师数字孪生大语言模型
|
9月前
|
机器学习/深度学习 存储 人工智能
《量子计算硬件:关键指标对人工智能应用性能的影响》
量子计算硬件的关键技术指标对人工智能性能至关重要。量子比特数量决定信息处理规模,更多量子比特可加速机器学习、提升模型精度;相干时间保障量子态稳定,延长其能提高计算可靠性;门保真度确保操作准确,高保真度增强计算精度与容错能力。其他如耦合强度、噪声水平等也协同作用,共同影响性能。优化这些指标将推动AI发展。
311 66
|
9月前
|
机器学习/深度学习 人工智能 编解码
Inf-DiT:清华联合智谱AI推出超高分辨率图像生成模型,生成的空间复杂度从 O(N^2) 降低到 O(N)
Inf-DiT 是清华大学与智谱AI联合推出的基于扩散模型的图像上采样方法,能够生成超高分辨率图像,突破传统扩散模型的内存限制,适用于多种实际应用场景。
256 21
Inf-DiT:清华联合智谱AI推出超高分辨率图像生成模型,生成的空间复杂度从 O(N^2) 降低到 O(N)
|
9月前
|
人工智能 安全 API
OpenHands:能自主检索外部知识的 AI 编程工具,自动执行命令、网页浏览和生成代码等操作
OpenHands 是一款基于 AI 的编程工具,支持多智能体协作,能够自动生成代码、执行命令、浏览网页等,显著提升开发效率。
828 26
OpenHands:能自主检索外部知识的 AI 编程工具,自动执行命令、网页浏览和生成代码等操作
|
9月前
|
人工智能 搜索推荐 网络架构
TryOffAnyone:快速将模特服装图还原为平铺商品图,生成标准化的服装展示效果
TryOffAnyone 是一款基于 AI 技术的工具,能够将模特穿着服装的图像快速还原为平铺商品图,支持智能识别、自动优化等功能,适用于电商平台和虚拟试衣场景。
486 12
TryOffAnyone:快速将模特服装图还原为平铺商品图,生成标准化的服装展示效果
|
9月前
|
人工智能 自然语言处理 数据处理
FlexRAG:不再局限于文本的 RAG!中科院开源多模态 RAG 助手,支持多数据类型、上下文压缩和多种检索器类型
FlexRAG 是中科院推出的高性能多模态 RAG 框架,支持多数据类型、上下文压缩和多模态数据处理,显著提升生成模型的表现。
1062 17
FlexRAG:不再局限于文本的 RAG!中科院开源多模态 RAG 助手,支持多数据类型、上下文压缩和多种检索器类型
|
9月前
|
数据采集 人工智能 搜索推荐
SocraticLM:通过 AI 提问引导学生主动思考,中科大与科大讯飞联合推出苏格拉底式教育大模型
SocraticLM 是由中科大和科大讯飞联合开发的苏格拉底式教学大模型,通过提问引导学生主动思考,提供个性化教学,显著提升教学效果。
481 9
SocraticLM:通过 AI 提问引导学生主动思考,中科大与科大讯飞联合推出苏格拉底式教育大模型

热门文章

最新文章