当前位置: 首页 > news >正文

Intern-S1-mini模型结构

模型介绍

Intern-S1-mini基于一个8B密集语言模型(Qwen3)和一个0.3B视觉编码器(InternViT),Intern-S1-mini 在5万亿个标记的多模态数据上进行了进一步预训练,其中包括超过2.5万亿个科学领域的标记。这使得该模型在保持强大的通用能力的同时,在诸如解释化学结构、理解蛋白质序列和规划化合物合成路线等专业科学领域表现出色,使Intern-S1-mini 成为适用于实际科学应用的研究助手。

模型加载

from modelscope import AutoProcessor, AutoModelForCausalLM
import torchmodel_name = "Shanghai_AI_Laboratory/Intern-S1-mini"
processor = AutoProcessor.from_pretrained(model_name, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(model_name, device_map="auto", torch_dtype="auto", trust_remote_code=True)
Downloading Model from https://www.modelscope.cn to directory: /home/six/.cache/modelscope/hub/models/Shanghai_AI_Laboratory/Intern-S1-miniIf tokenization with SMILES formula is of necessity, please 'pip install RDKit' for better tokenization quality.Downloading Model from https://www.modelscope.cn to directory: /home/six/.cache/modelscope/hub/models/Shanghai_AI_Laboratory/Intern-S1-miniLoading checkpoint shards: 100%|██████████| 4/4 [00:01<00:00,  2.48it/s]

模型结构

model
InternS1ForConditionalGeneration((model): InternS1Model((vision_tower): InternS1VisionModel((embeddings): InternS1VisionEmbeddings((patch_embeddings): InternS1VisionPatchEmbeddings((projection): Conv2d(3, 1024, kernel_size=(14, 14), stride=(14, 14)))(dropout): Dropout(p=0.0, inplace=False))(encoder): InternS1VisionEncoder((layer): ModuleList((0-23): 24 x InternS1VisionLayer((attention): InternS1VisionAttention((q_proj): Linear(in_features=1024, out_features=1024, bias=True)(k_proj): Linear(in_features=1024, out_features=1024, bias=True)(v_proj): Linear(in_features=1024, out_features=1024, bias=True)(projection_layer): Linear(in_features=1024, out_features=1024, bias=True)(projection_dropout): Identity()(q_norm): Identity()(k_norm): Identity())(mlp): InternS1VisionMLP((activation_fn): GELUActivation()(fc1): Linear(in_features=1024, out_features=4096, bias=True)(fc2): Linear(in_features=4096, out_features=1024, bias=True))(layernorm_before): LayerNorm((1024,), eps=1e-06, elementwise_affine=True)(layernorm_after): LayerNorm((1024,), eps=1e-06, elementwise_affine=True)(dropout): Dropout(p=0.0, inplace=False)(drop_path1): Identity()(drop_path2): Identity())))(layernorm): Identity())(multi_modal_projector): InternS1MultiModalProjector((layer_norm): LayerNorm((4096,), eps=1e-05, elementwise_affine=True)(linear_1): Linear(in_features=4096, out_features=4096, bias=True)(act): GELUActivation()(linear_2): Linear(in_features=4096, out_features=4096, bias=True))(language_model): Qwen3Model((embed_tokens): Embedding(153216, 4096)(layers): ModuleList((0-35): 36 x Qwen3DecoderLayer((self_attn): Qwen3Attention((q_proj): Linear(in_features=4096, out_features=4096, bias=False)(k_proj): Linear(in_features=4096, out_features=1024, bias=False)(v_proj): Linear(in_features=4096, out_features=1024, bias=False)(o_proj): Linear(in_features=4096, out_features=4096, bias=False)(q_norm): Qwen3RMSNorm((128,), eps=1e-06)(k_norm): Qwen3RMSNorm((128,), eps=1e-06))(mlp): Qwen3MLP((gate_proj): Linear(in_features=4096, out_features=12288, bias=False)(up_proj): Linear(in_features=4096, out_features=12288, bias=False)(down_proj): Linear(in_features=12288, out_features=4096, bias=False)(act_fn): SiLU())(input_layernorm): Qwen3RMSNorm((4096,), eps=1e-06)(post_attention_layernorm): Qwen3RMSNorm((4096,), eps=1e-06)))(norm): Qwen3RMSNorm((4096,), eps=1e-06)(rotary_emb): Qwen3RotaryEmbedding()))(lm_head): Linear(in_features=4096, out_features=153216, bias=False)
)

在这里插入图片描述

模型测试

messages = [{"role": "user","content": [{"type": "text", "text": "请用中文介绍一下你自己。"},],}
]inputs = processor.apply_chat_template(messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt").to(model.device, dtype=torch.bfloat16)generate_ids = model.generate(**inputs, max_new_tokens=32768)
decoded_output = processor.decode(generate_ids[0, inputs["input_ids"].shape[1] :], skip_special_tokens=True)
print(decoded_output)
Setting `pad_token_id` to `eos_token_id`:151645 for open-end generation.好的,用户让我用中文介绍一下自己。首先,我需要确定用户的需求是什么。可能他们想了解我的功能,或者测试我的中文能力,或者只是出于好奇。接下来,我要考虑如何组织回答。应该包括我的身份、功能、特点,以及如何帮助用户。用户可能希望得到一个简洁明了的回答,所以需要避免冗长。同时,要突出我的优势,比如多语言支持、知识广度、实时信息获取等。还要注意用词亲切,让用户感觉友好。另外,用户可能没有明确说明,但潜在需求可能是想确认我是否可靠,或者能否处理复杂任务。因此,在回答中需要强调准确性和安全性,比如提到遵守道德准则,保护隐私。还要考虑用户可能的后续问题,比如如何使用我,或者我的局限性。所以在介绍中可以适当提到这些方面,但不需要展开,保持回答的针对性。最后,检查语言是否自然流畅,避免技术术语,让不同背景的用户都能理解。确保回答结构清晰,分点说明,但不要用列表形式,而是用连贯的段落。
</think>你好!我是一个名叫Intern-S1的人工智能助手,由上海人工智能实验室开发。我擅长处理各种语言任务,比如回答问题、提供定义和解释、将文本从一种语言翻译成另一种语言、总结文本、生成文本、编写故事、分析情感、提供推荐、开发算法、编写代码等等。我致力于通过执行常见的基于语言的任务和提供建议来帮助人类。如果你有任何需要帮助的地方,欢迎随时向我提问!
http://www.xdnf.cn/news/1383301.html

相关文章:

  • Python训练营打卡 DAY 50 预训练模型+CBAM模块
  • DQN(深度Q网络):深度强化学习的里程碑式突破
  • 【LeetCode每日一题】160.相交链表 206. 反转链表
  • 在Xcode中查看设备日志的完整指南
  • 消息队列核心问题解决方案:从丢失到重复消费的全方位保障
  • Windows 11 中 PowerShell 与 CMD 的深度对比:从定位到实战
  • Python DELL Logo
  • LCEDA电气规则
  • 整体设计 修订 之1 三“先”之“基” 与范畴重构:康德先验哲学的批判性程序化实现
  • MapStruct用法和实践
  • Vibe Coding到底是什么:什么是 Vibe Coding?AI编程?
  • 深度学习----卷积神经网络实现数字识别
  • 从0开始学习Java+AI知识点总结-27.web实战(Maven高级)
  • 漫谈《数字图像处理》之区域生长和区域分离聚合
  • CDN 临时下载链接
  • OpenCV 图像操作进阶:像素、边界与融合技术
  • 嵌入式学习日记(36)TCP并发服务器构建——epoll
  • 详细介绍Linux 内存管理 匿名页面和page cache页面有什么区别?
  • SplinePSF——应用于光学成像中的 PSF 建模
  • 详细介绍Linux 内存管理struct page数据结构中的_count和_mapcount有什么区别?
  • 图论好题推荐-逛公园
  • 【LInux】常用命令笔记
  • ArkUI框架之Canvas 画布
  • 什么是最小二乘法
  • 二、开关电源的EMC改善措施
  • CVPR2025丨VL2Lite:如何将巨型VLM的“知识”精炼后灌入轻量网络?这项蒸馏技术实现了任务专用的极致压缩
  • 虚幻基础:角色变换角色视角蒙太奇运动
  • 基于SpringBoot的老年人健康数据远程监控管理系统【2026最新】
  • 嵌入式开发学习———Qt软件环境下的C++学习(七)
  • 图论基础篇