
基于离散序列建模的多模态语言模型
AnyGPT是一款基于离散序列建模的多模态语言模型,能够统一处理语音、文本、图像和音乐等多种模态。该模型通过将不同模态数据转换为统一的离散表示,实现了模态间的转换和自由对话。AnyGPT包含基础模型和聊天模型两个版本,前者实现了四种模态的对齐,后者基于AnyInstruct数据集训练,支持灵活的多模态交互。
<a href='https://junzhan2000.github.io/AnyGPT.github.io/'><img src='https://img.shields.io/badge/项目-主页-绿色'>``</a> <a href='https://arxiv.org/pdf/2402.12226.pdf'><img src='https://img.shields.io/badge/论文-Arxiv-红色'>``</a>
我们推出了AnyGPT,这是一个任意模态间转换的多模态语言模型,它利用离散表示统一处理语音、文本、图像和音乐等各种模态。基础模型对这四种模态进行对齐,实现不同模态与文本之间的相互转换。此外,我们基于各种生成模型构建了AnyInstruct数据集,其中包含任意模态间转换的指令。在该数据集上训练后,我们的对话模型能够进行自由的多模态对话,可以随意插入多模态数据。
AnyGPT提出了一种生成式训练方案,将所有模态数据转换为统一的离散表示,使用下一个标记预测任务在大语言模型(LLM)上进行统一训练。从"压缩即智能"的角度来看:当分词器的质量足够高,且LLM的困惑度(PPL)足够低时,就有可能将互联网上大量的多模态数据压缩到同一个模型中,从而产生纯文本LLM所不具备的能力。 演示示例可在项目主页查看。
git clone https://github.com/OpenMOSS/AnyGPT.git cd AnyGPT conda create --name AnyGPT python=3.9 conda activate AnyGPT pip install -r requirements.txt
SpeechTokenizer用于语音的分词和重构,Soundstorm负责补全副语言信息,SEED-tokenizer用于图像分词。
用于重构图像的unCLIP SD-UNet模型权重和用于音乐分词和重构的Encodec-32k模型权重将自动下载。
python anygpt/src/infer/cli_infer_base_model.py \ --model-name-or-path "path/to/AnyGPT-7B-base" \ --image-tokenizer-path 'path/to/model' \ --speech-tokenizer-path "path/to/model" \ --speech-tokenizer-config "path/to/config" \ --soundstorm-path "path/to/model" \ --output-dir "infer_output/base"
例如
python anygpt/src/infer/cli_infer_base_model.py \ --model-name-or-path models/anygpt/base \ --image-tokenizer-path models/seed-tokenizer-2/seed_quantizer.pt \ --speech-tokenizer-path models/speechtokenizer/ckpt.dev \ --speech-tokenizer-config models/speechtokenizer/config.json \ --soundstorm-path models/soundstorm/speechtokenizer_soundstorm_mls.pt \ --output-dir "infer_output/base"
基础模型可以执行各种任务,包括文本生成图像、图像描述、自动语音识别(ASR)、零样本文本转语音(TTS)、文本生成音乐和音乐描述。
我们可以按照特定的指令格式进行推理。
text|image|{caption}text|image|一个繁忙的中世纪集市场景,摊贩在五颜六色的帐篷下售卖奇异商品image|text|{caption}image|text|static/infer/image/cat.jpgtext|speech|{speech content}text|speech|我可以被囚 禁在果壳之中,却仍自以为是无限宇宙之王。text|speech|{speech content}|{voice prompt}text|speech|我可以被囚禁在果壳之中,却仍自以为是无限宇宙之王。|static/infer/speech/voice_prompt3.wavspeech|text|{speech file path}speech|text|AnyGPT/static/infer/speech/voice_prompt2.wavtext|music|{caption}text|music|具有独立摇滚风格,带有独特元素,营造梦幻、舒缓的氛围music|text|{music file path}music|text|static/infer/music/features an indie rock sound with distinct element.wav注意事项
对于不同的任务,我们使用了不同的语言模型解码策略。图像、语音和音乐生成的解码配置文件分别位于config/image_generate_config.json、config/speech_generate_config.json和config/music_generate_config.json中。其他模态到文本的解码配置文件位于config/text_generate_config.json中。你可以直接修改或添加参数来改变解码策略。
由于数据和训练资源的限制,模型的生成可能仍不稳定。你可以多次生成或尝试不同的解码策略。
语音和音乐响应将保存为.wav文件,图像响应将保存为jpg文件。文件名将是提示和时间的组合。这些文件的路径将在响应中指明。
python anygpt/src/infer/cli_infer_chat_model.py \ --model-name-or-path 'path/to/model' \ --image-tokenizer-path 'path/to/model' \ --speech-tokenizer-path 'path/to/model' \ --speech-tokenizer-config 'path/to/config' \ --soundstorm-path 'path/to/model' \ --output-dir "infer_output/chat"
例如
python anygpt/src/infer/cli_infer_chat_model.py \ --model-name-or-path models/anygpt/chat \ --image-tokenizer-path models/seed-tokenizer-2/seed_quantizer.pt \ --speech-tokenizer-path models/speechtokenizer/ckpt.dev \ --speech-tokenizer-config models/speechtokenizer/config.json \ --soundstorm-path models/soundstorm/speechtokenizer_soundstorm_mls.pt \ --output-dir "infer_output/chat"
指令格式
interleaved|{文本指令}|{模态}|{图像路径}|{语音提示}|{语音指令}|{音乐路径}
其中 文本指令 是输入的文本命令,语音指令 是输入的语音命令;只需要指定其中一个。
图像路径 和 音乐路径 分别是输入图像和音乐的路径。语音提示 是指定模型回复的语气;如果不指定,则使用随机语气。
模态 指的是输出模态的类型,可以选择为语音、图像或音乐;否则被视为文本。这只会影响模型使用config目录下的哪个解码配置文件(这是因为模型的训练受限,导致不同模态的解码策略不同)。也可以逐个token解码,在生成模态的起始token时修改解码策略为对应模态。
示例
要清除对话历史,请输入 |clear
请参考 scripts/stage1_pretrain.sh 和 scripts/stage2_sft.sh
我们提供了训练数据样本以供参考。训练格式的组织包括data/pretrain中的预训练数据和data/instruction中的指令数据。 对于不同任务的提示,请参考task_prompts,如纯文本对话、语音命令文本回复、文本命令语音回复,以及各种任务的特殊提示。您需要根据任务模板提前将多模态数据处理成多轮对话格式。 我们在命令数据中以语音对话为例,对应使用"Speech-Instruction"和"Speech-Response"中的task_prompts:
[ { "role": "user", "message": "<sosp><🗣️1><🗣️1><🗣️1><eosp> 请确认用户的语音输入,创建一个文本回复" }, { "role": "assistant", "message": "<-Ins-> 你好,你好吗\n <-Res-> 我很好,谢谢 <sosp><🗣️2><🗣️2><🗣️2><eosp>" } ]
如果您在研究或应用中发现AnyGPT和AnyInstruct有用,请kindly引用:
@article{zhan2024anygpt,
title={AnyGPT: Unified Multimodal LLM with Discrete Sequence Modeling},
author={Zhan, Jun and Dai, Junqi and Ye, Jiasheng and Zhou, Yunhua and Zhang, Dong and Liu, Zhigeng and Zhang, Xin and Yuan, Ruibin and Zhang, Ge and Li, Linyang and others},
journal={arXiv preprint arXiv:2402.12226},
year={2024}
}


免费创建高清无水印Sora视频
Vora是一个免费创建高清无水印Sora视频的AI工具


最适合小白的AI自动化工作流平台
无需编码,轻松生成可复用、可变现的AI自动化工作流

大模型驱动的Excel数据处理工具
基于大模型交互的表格处理系统,允许用户通过对话方式完成数据整理和可视化分析。系统采用机器学习算法解析用户指令,自动执行排序、公式计算和数据透视等操作,支持多种文件格式导入导出。数据处理响应速度保持在0.8秒以内,支持超过100万行数据的即时分析。


AI辅助编程,代码自动修复
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。


AI论文写作指导平台
AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。


AI一键生成PPT,就用博思AIPPT!
博思AIPPT,新一代的AI生成PPT平台,支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办公场景。


AI赋能电商视觉革命,一站式智能商拍平台
潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。


企业专属的AI法律顾问
iTerms是法大大集团旗下法律子品牌,基于最先进的大语言模型(LLM)、专业的法律知识库和强大的智能体架构,帮助企业扫清合规障碍,筑牢风控防线,成为您企业专属的AI法律顾问。


稳定高效的流量提升解决方案,助力品牌曝光
稳定高效的流量提升解决方案,助力品牌曝光


最新版Sora2模型免费使用,一键生成无水印视频
最新版Sora2模型免费使用,一键生成无水印视频
最新AI工具、AI资讯
独家AI资源、AI项目落地

微信扫一扫关注公众号