电子毕业设计网站建设,做网站学不需要做后台管理系统,房屋装修图片,检察机关门户网站建设自查报告❤️ 如果你也关注大模型与 AI 的发展现状#xff0c;且对大模型应用开发非常感兴趣#xff0c;我会快速跟你分享最新的感兴趣的 AI 应用和热点信息#xff0c;也会不定期分享自己的想法和开源实例#xff0c;欢迎关注我哦#xff01;
#x1f966; 微信公众号#xff…❤️ 如果你也关注大模型与 AI 的发展现状且对大模型应用开发非常感兴趣我会快速跟你分享最新的感兴趣的 AI 应用和热点信息也会不定期分享自己的想法和开源实例欢迎关注我哦 微信公众号搜一搜蚝油菜花 快速阅读
Janus 是一个统一多模态理解和生成任务的自回归框架。它通过解耦视觉编码和统一的 Transformer 架构实现高效的多模态处理。Janus 在图像生成、图像标注、视觉问答等领域有广泛的应用前景。
正文附运行示例
Janus 是什么 Janus 是一个由 DeepSeek AI 推出的自回归框架旨在统一多模态理解和生成任务。它通过将视觉编码分离成不同的路径解决以往方法的局限性并使用单一的变换器架构进行处理。这种设计不仅减轻了视觉编码器在理解和生成任务中的角色冲突还提高了框架的灵活性。Janus 在性能上超越以往的统一模型在某些情况下超过特定任务模型的性能使其成为下一代统一多模态模型的有力候选者。
Janus 的主要功能
多模态理解Janus 能处理和理解包含图像和文本的信息让大型语言模型能理解图像内容。图像生成基于文本描述Janus 能生成相应的图像展现出从文本到图像的创造力。灵活性和扩展性Janus 的设计支持独立选择最适合的编码方法进行多模态理解和生成易于扩展和集成新的输入类型如点云、EEG 信号或音频数据。
Janus 的技术原理
视觉编码的解耦Janus 基于为多模态理解和生成任务设置独立的编码路径解决两项任务对视觉信息粒度不同需求的冲突。统一的 Transformer 架构Janus 用单一的 Transformer 架构处理不同的编码路径保持模型的统一性和效率。自回归框架Janus 基于自回归方法逐步生成文本或图像数据在生成任务中具有灵活性和控制性。多阶段训练Janus 的训练分为多个阶段包括适配器和图像头部的训练、统一预训练和监督微调确保模型在多模态任务上的表现。跨模态交互Janus 能处理不同模态间的交互如将文本转换为图像或从图像中提取信息回答问题实现不同模态间的无缝转换和理解。
如何运行 Janus
# 示例代码多模态理解
# 加载模型和处理器
model_path deepseek-ai/Janus-1.3B
vl_chat_processor VLChatProcessor.from_pretrained(model_path)
tokenizer vl_chat_processor.tokenizer
vl_gpt AutoModelForCausalLM.from_pretrained(model_path, trust_remote_codeTrue)
vl_gpt vl_gpt.to(torch.bfloat16).cuda().eval()# 准备输入数据
conversation [{role: User,content: image_placeholder\nConvert the formula into latex code.,images: [images/equation.png],},{role: Assistant, content: },
]
pil_images load_pil_images(conversation)
prepare_inputs vl_chat_processor(conversationsconversation, imagespil_images, force_batchifyTrue).to(vl_gpt.device)# 运行模型
inputs_embeds vl_gpt.prepare_inputs_embeds(**prepare_inputs)
outputs vl_gpt.language_model.generate(inputs_embedsinputs_embeds,attention_maskprepare_inputs.attention_mask,pad_token_idtokenizer.eos_token_id,bos_token_idtokenizer.bos_token_id,eos_token_idtokenizer.eos_token_id,max_new_tokens512,do_sampleFalse,use_cacheTrue,
)# 解码输出
answer tokenizer.decode(outputs[0].cpu().tolist(), skip_special_tokensTrue)
print(f{prepare_inputs[sft_format][0]}, answer)资源
Janus GitHub 仓库https://github.com/deepseek-ai/JanusJanus HuggingFace 模型库https://huggingface.co/deepseek-ai/Janus-1.3BJanus arXiv 技术论文https://arxiv.org/pdf/2410.13848 ❤️ 如果你也关注大模型与 AI 的发展现状且对大模型应用开发非常感兴趣我会快速跟你分享最新的感兴趣的 AI 应用和热点信息也会不定期分享自己的想法和开源实例欢迎关注我哦 微信公众号搜一搜蚝油菜花