变色龙chameleon模型适配昇腾做训练开发

简介: 变色龙chameleon模型的官方仓库(https://github.com/facebookresearch/chameleon)并未开源训练的源代码,需要做训练代码的开发。

变色龙chameleon模型的官方仓库(https://github.com/facebookresearch/chameleon)并未开源训练的源代码,需要做训练代码的开发。

开发方向

昇腾modellink(已改名MindSpeed-LLM)的代码仓(https://Ascend/MindSpeed-LLM)具备llm的训练能力,但不支持多模态,不适配变色龙模型。根据变色龙的论文,变色龙模型的结构与llama2的结构类似,但在tokenizer方面有所不同,变色龙的tokenizer是支持多模态的,而llama2的tokenizer不支持。于是选择在tokenizer层面适配变色龙模型。

开发过程

  1. 变色龙、modellink仓库克隆,安装依赖,环境搭建。
  2. 跑通llama2训练验证开发环境无异常。
  3. 阅读源码
  1. 阅读变色龙源码,定位tokenizer代码以及调用方式,处理逻辑。
  2. 阅读modellink源码。确定训练执行的流程,以及tokenizer的调用时机与调用点。确定数据预处理流程,以及数据输入格式与处理方法。


  1. 迁移变色龙的tokenizer部分,为适配开发做准备。
  2. 修改脚本调用参数,修改代码使得modellink在对应条件下引入变色龙的tokenizer。
  3. 观察分析输入输出
  1. 断点调试变色龙、modellink的tokenizer,观察tokenizer的输出,以及调用点引用的对象结构。
  2. 观察变色龙、modellink的tokenizer的输入数据,比较异同,分析需要兼容的部分。
  3. 观察训练数据的处理输出与对应tokenizer的输入,分析设计数据处理方案。


  1. 对齐输入输出
  1. 构造1000+条带图片和文本的训练数据,数据格式选用modellink支持的json格式,用作调试。
  2. 根据源码分析,modellink采用handler处理输入的训练数据。自定义新的ChameleonPretrainHandler类继承基类,重写_filter()方法,对齐输入数据与tokenizer的调用点。
  3. 根据数据输入,调整tokenizer对象的调用类结构。


  1. 训练部分引用变色龙的tokenizer,替换原有tokenizer。
  2. 新建工厂函数,调整训练需要的tokenzier格式,传入对应的vocab_size和eod_id参数。
  3. 调试训练,根据训练情况以及具体报错修改代码直至跑通。
相关文章
|
8月前
|
人工智能 自然语言处理 算法
谷歌推出”自我发现“框架,极大增强GPT-4等大模型推理能力
【4月更文挑战第20天】谷歌DeepMind团队推出了SELF-DISCOVER框架,让大型语言模型能自我发现并构建推理结构,提升在复杂任务中的性能。该框架模仿人类解决问题方式,分两阶段选择和适应原子推理模块,以解决挑战。在多任务测试中,SELF-DISCOVER相比传统方法表现出色,性能提升42%,计算量减少10至40倍。它具有跨模型应用的普适性,并与人类思维方式相通。然而,它在某些任务类型上仍有优化空间,且需解决计算成本问题。论文链接:https://arxiv.org/abs/2402.03620
111 1
|
8月前
|
机器学习/深度学习 vr&ar 决策智能
创新性3D数据合成模型,微软推出EgoGen
【2月更文挑战第6天】创新性3D数据合成模型,微软推出EgoGen
69 2
创新性3D数据合成模型,微软推出EgoGen
|
8月前
魔塔社区的模型支持使用DJL 进行推理吗?
想使用DJL 加载魔塔社区的模型并进行推理
|
13天前
|
存储 缓存 物联网
MNN推理框架将大模型放进移动端设备,并达到SOTA推理性能!
随着移动端(手机/平板等)算力、内存、磁盘空间的不断增长,在移动端部署大模型逐渐成为可能。在端侧运行大模型,可以有一系列好处:去除网络延迟,加快响应速度;降低算力成本,便于大规模应用;不需数据上传,保护用户稳私。
MNN推理框架将大模型放进移动端设备,并达到SOTA推理性能!
|
26天前
|
机器学习/深度学习 人工智能 自然语言处理
Gemini 2.0:谷歌推出的原生多模态输入输出 + Agent 为核心的 AI 模型
谷歌最新推出的Gemini 2.0是一款原生多模态输入输出的AI模型,以Agent技术为核心,支持多种数据类型的输入与输出,具备强大的性能和多语言音频输出能力。本文将详细介绍Gemini 2.0的主要功能、技术原理及其在多个领域的应用场景。
139 20
Gemini 2.0:谷歌推出的原生多模态输入输出 + Agent 为核心的 AI 模型
|
19天前
|
人工智能 文字识别 语音技术
Megrez-3B-Omni: 首个端侧全模态理解开源模型
Megrez-3B-Omni是由无问芯穹(Infinigence AI)研发的端侧全模态理解模型,基于无问大语言模型Megrez-3B-Instruct扩展,同时具备图片、文本、音频三种模态数据的理解分析能力。
Megrez-3B-Omni: 首个端侧全模态理解开源模型
|
1月前
|
自然语言处理 资源调度 并行计算
从本地部署到企业级服务:十种主流LLM推理框架的技术介绍与对比
本文深入探讨了十种主流的大语言模型(LLM)服务引擎和工具,涵盖从轻量级本地部署到高性能企业级解决方案,详细分析了它们的技术特点、优势及局限性,旨在为研究人员和工程团队提供适合不同应用场景的技术方案。内容涉及WebLLM、LM Studio、Ollama、vLLM、LightLLM、OpenLLM、HuggingFace TGI、GPT4ALL、llama.cpp及Triton Inference Server与TensorRT-LLM等。
154 7
|
5月前
|
人工智能 自然语言处理 Swift
"轻量级微调推理框架SWIFT:大模型时代的速度革命,让你秒变AI部署高手!"
【8月更文挑战第17天】随着AI技术的发展,大模型如GPT-3和BERT引领风潮,但其部署与推理速度面临挑战。为此,魔搭社区推出了SWIFT(Simple Weight-Integrated Fine-Tuning)框架,它采用轻量级微调技术,实现模型参数压缩与加速,确保大模型能在移动端和边缘设备上高效运行。SWIFT具备四大特点:创新微调方法减少训练参数;内置优化策略提高推理速度;跨平台支持便于部署;兼容主流预训练模型。通过示例可见,从加载预训练模型到模型的微调、评估及导出,SWIFT简化了工作流程,降低了大模型的应用门槛,促进了AI技术的实际应用。
553 3
|
7月前
|
机器学习/深度学习 语音技术
多模态大模型不够灵活,谷歌DeepMind创新架构Zipper:分开训练再压缩
【6月更文挑战第12天】谷歌DeepMind的Zipper架构解决了多模态大模型灵活性问题,通过分解为单模态模型并用“压缩”过程组合,实现多模态生成。该方法允许独立训练每个模态,提升灵活性和可扩展性,适用于数据有限或领域特定的模态。Zipper利用交叉注意力机制融合模态输出,适用于图像描述、语音识别等任务。尽管需要更多计算资源且性能受限于单模态模型质量,但已在ASR和TTS领域展现潜力。论文链接:https://arxiv.org/pdf/2405.18669
72 3
|
6月前
|
人工智能 数据安全/隐私保护 开发者
开源大模型与闭源大模型那个更好?
开源大模型与闭源大模型那个更好?