Cephalo:专门用于仿生设计的多模态视觉大型语言模型

实时了解业内动态,论文是最好的桥梁,专栏精选论文重点解读热点论文,围绕着行业实践和工程量产。若在某个环节出现卡点,可以回到大模型必备腔调或者LLM背后的基础模型重新阅读。而最新科技(Mamba,xLSTM,KAN)则提供了大模型领域最新技术跟踪。若对于具身智能感兴趣的请移步具身智能专栏。技术宅麻烦死磕AI架构设计。

材料科学侧重于研究和开发具有特定性能和应用的材料。该领域的研究人员旨在了解材料的结构、性能和性能,以创新和改进现有技术,并为各种应用创造新材料。该学科结合了化学、物理和工程原理,以应对挑战并改进航空航天、汽车、电子和医疗保健中使用的材料。

材料科学面临的一个重大挑战是整合来自科学文献的大量视觉和文本数据,传统方法通常无法有效地组合这些数据类型,从而限制了生成全面见解和解决方案的能力。难点在于从图像中提取相关信息并将其与文本数据相关联,这对于推进该领域的研究和应用至关重要。

Cephalo

麻省理工学院(MIT)的研究人员推出了Cephalo,这是一系列专为材料科学应用设计的多模态视觉语言模型(V-LLMs)。Cephalo旨在弥合视觉感知和语言理解之间的差距,以分析和设计仿生材料。

Cephalo 利用复杂的算法从科学文献中检测和分离图像及其相应的文本描述。它使用视觉编码器和自回归转换器集成这些数据,使模型能够解释复杂的视觉场景,生成准确的语言描述,并有效地回答查询。

该模型使用来自数千篇科学论文和以科学为重点的维基百科页面的集成图像和文本数据进行训练。它展示了其处理复杂数据和提供有见地的分析的能力。

如上图所示,Cephalo推出的模型在4B和12B之间,基座模型有Phi-3和Idefics-2,分别采用GPT-40和Idefics-2针对原始数据进行提炼。当然本项目还利用层合并技术形成更大规模的大模型以及尝试采用MoE的方式进行实验。紧接着来看看本次项目的成果,在各个领域的影响力还是巨大的。

特色1:语料构成

图像文本数据集的Token记长度记数直方图,a代表来至示来自维基百科,b代表来之论文语料库,原始说明。c-e显示了使用不同视觉文本模型处理的结果。c显示了Idefics-2处理维基百科后的图像描述的Token长度。面板d和e显示了使用Idefics-2和GPT-4o处理的论文语料库数据集的结果。

GPT-4o数据集通常会产生更长的描述,对内容的详细分析让它提供了增强的推理能力和对图像内容的细致解释的能力。所有Token均使用 Phi-3-Vision标记器(tokenizer)完成。

上图为从wiki和论文中获取图像分辨率的直方统计图。相对而言,论文的图片质量普遍高一点。

为了开发一种强大的数据集生成方法,研究人员使用PyMuPDF中的 fitz 库从0到1实现全新的算法。该过程首先识别PDF中每页的所有图像。随后找到以“Fig”或类似标识符开头的文本块。然后该算法将这些文本块与位于其下方的最近图像进行匹配。

匹配过程通过几个清理步骤进行改进,包括处理不同的图像颜色图和格式,以及删除特定符号,例如期刊添加到文档中的符号。一些 PDF 产生了分割的图形,需要额外的处理才能确保数据集的完整性。

通过与通用V-LLM(视觉大模型)共享图像和原始标题,并让模型开发图像的全面描述,可以开发用于训练的图像文本对。研究人员同时使用开源 V-LLM、Idefics2和GPT-4o来完成针对图的信息提炼。作为替代方案,我们还探索了使用纯文本的 LLM(例如,Phi-3-Bioinspired,它提供了另一种选择。具有视觉功能的 LLM 来处理和提炼数据集通常更好,并提供更详细和合理的描述。

上图中的数据集的字段既包含原始的Caption,也有经过vLLM综合内容生成的QA字段,更加丰满了(例如下图的a重新生成b的描述。)

特色2:层合并

混合模型Cephalo-Idefics-2-vision-10b-alpha通过有效地将特定领域的专业知识与一般的对话能力相结合,表现出卓越的性能。这是通过将lamm-mit/Cephalo-Idefics-2-vision-8b-beta模型的解码器的前32层与聊天/指令调整的HuggingFaceM4/idefics2-8b-chatty模型的最后N层合并。在针对合并模型的最后N层进行微调。若N=8,则产生10b的模型。

  • a显示了使用低秩自适应对第一个模型进行微调。

  • b讲述了合并的过程,这个过程使用两个模型,模型A和模型B,来构建更大的模型。模型A是一个领域特定的微调模型,模型B是一个通用的聊天/指令调整模型。研究人员选择一组层(来自模型 A 的所有层,模型 B 的深层)。这遵循使用领域特定模型的早期层和通用模型的后期层的策略。然后将选定的层合并为一个新的组合模型,该模型经过微调。

  • c新模型的微调是通过冻结源模型A的所有层并对源自模型B的层进行全面微调来完成的。生成的模型可以实现图像字幕、视觉问答和多模态内容生成等任务。

给它一张鸡蛋的图,让它描述,同时问它要是摔了会如何。从物理的角度还是回答得有模有样的!

当然本次的研究还顺手训练了基于原来模型的MoE,3*4B的LLM。

Cephalo可以生成精确的图像到文本和文本到图像的翻译,提供高质量、上下文相关的训练数据。此功能显著增强了人类 AI和多智能体AI框架内的理解和交互。研究人员已经在各种用例中测试了Cephalo,包括分析断裂力学、蛋白质结构和仿生设计,展示了其多功能性和有效性。

在性能和结果方面,Cephalo的模型范围从 4B到 12B不等,可适应不同的计算需求和应用。这些模型在各种用例中进行了测试,例如生物材料、断裂和工程分析以及仿生设计。例如,Cephalo展示了其解释复杂视觉场景和生成精确语言描述的能力,增强了对失效和断裂等物质现象的理解。这种视觉和语言的整合可以进行更准确和详细的分析,支持材料科学创新解决方案的开发。

此外,这些模型在特定应用中显示出显着改进。例如,Cephalo可以在分析生物材料时生成微观结构的详细描述,这对于理解材料特性和性能至关重要。在断裂分析中,该模型准确描述裂纹扩展并提出提高材料韧性的方法的能力尤为重要。这些结果凸显了Cephalo在推进材料研究和为现实世界挑战提供实用解决方案方面的潜力。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/34452.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux库函数 gettimeofday() localtime 使用demo

1. 基本说明 /* linux库函数 gettimeofday 1. 头文件#include <sys/time.h> 2. 函数形式int gettimeofday(struct timeval *tv, struct timezone *tz); 3. 返回值Returns 0 on success, or –1 on error 4. 参数tv&#xff1a;虽然tv_usec字段提供微秒级精度&#xff0…

代码随想录训练营第十七天 654最大二叉树 617合并二叉树 700二叉树搜索树的搜索

第一题&#xff1a; 原题链接&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a; 先找到这个数组中的最大值的下标。 然后将数组分为左右两个区间。 然后进行递归。 /*** Definition for a binary tree node.* struct TreeNode {* int val;* …

审美进阶:7个小程序模板,助你提高设计感!

小程序是一种无需下载和安装即可使用的应用程序。小程序实现了应用程序“触手可及”的梦想。用户可以通过扫描或搜索打开应用程序。对于开发者来说&#xff0c;小程序也大大降低了开发成本。因此&#xff0c;越来越多的品牌争相制作小程序应用程序。本文将为您带来优秀的微信小…

安卓开发,获取本机手机号

用免费云服务器&#xff0c;三丰云记录安卓开发过程 以下是使用 Android 开发获取本机手机号的示例代码&#xff08;需要相关权限&#xff09;&#xff1a; java 复制 import android.content.Context; import android.content.pm.PackageManager; import android.os.Build; i…

ubuntu安装qtcreator与环境配置

sudo apt-get update sudo apt-get install gcc g # 两个编译器 sudo apt-get install build-essential # 编译c/c所需要的软件包 sudo apt-get install libgl1-mesa-dev # 安装mesa&#xff0c;Mesa 实际上是一个库&#xff0c;它实现了多种图形 API 规范 sudo apt-get insta…

[pycrypto][python]pycrypto所有whl文件下载地址汇总

PyCrypto是一个强大的Python加密库&#xff0c;专为密码学和数据安全提供了一系列工具。以下是关于PyCrypto的详细介绍&#xff1a; 项目简介&#xff1a; PyCrypto是一个广泛使用的开源Python库&#xff0c;它包含了多种经典和现代的加密算法&#xff0c;如AES&#xff08;高级…

IOPaint前后端框架

IOPaint 前后端框架 IOPaint 是一个图像修复工具&#xff0c;使用了先进的AI模型进行图像编辑。以下是其前后端所使用的框架&#xff1a; 前端框架 IOPaint 的前端使用了 Node.js 和 npm 进行依赖管理和构建。具体步骤如下&#xff1a; 克隆仓库并进入 web_app 目录&#x…

微信小程序设置时间缓存限制,一段时间后自动清除缓存内容

在原生微信小程序的 app.js 文件里的 onShow (生命周期回调-监听小程序启动或切前台)进行设置 在 uni-app 的 App.vue 文件里的 onShow (生命周期回调-监听小程序启动或切前台)进行设置 onShow() {// 存入初次打开小程序的时间&#xff0c;为后面清除缓存使用const dataExpir…

MFC结构体定义中使用CString类型

MFC的结构体定义中字符串可以使用CString类型&#xff1b; struct MyStruct {int x;int y;CString str; }; ...... void CTttView::OnDraw(CDC* pDC) {CTttDoc* pDoc GetDocument();ASSERT_VALID(pDoc);// TODO: add draw code for native data hereCString str1;MyStruct m_…

React 组件通信-案例

React 组件通信是构建复杂应用的核心部分&#xff0c;涉及到不同组件之间的数据传递和事件处理。以下提供了相应的案例代码。 1. 父组件向子组件传递数据&#xff08;父传子&#xff09; 父组件通过 props 向子组件传递数据。 // ParentComponent.js import React from reac…

Android中的导航navigation的使用方式

在 Android 中&#xff0c;导航&#xff08;Navigation&#xff09;组件是一种用于管理应用内导航和屏幕之间关系的框架&#xff0c;它可以帮助你以一种更一致和结构化的方式管理应用的各个页面或片段&#xff08;Fragments&#xff09;之间的跳转和导航。下面是使用导航组件的…

vue配置中的process.env

项目中的.env开头的文件是否知道是干什么的呢 主要是为了区分测试环境还是生产环境env.development为测试环境 # 测试环境 NODE_ENV development VUE_APP_BASE_API http://xxxxxxxxx // 命名一定要以 VUE_APP_ 开头&#xff0c;要不然根本取不到 .env.production为生产环境…

C++ 内存分配可视化

GitHub - archibate/mallocvis: allocation visualization in svg graph 正常连续内存分配 #include <vector>int main() {// 堆mallocstd::vector<int> memory;for (int i 0; i < 1000; i) {memory.emplace_back(i*10);}return 0; } 主动内存分配释放 #in…

微信小程序简易录音机

首先先创建一个项目&#xff08;想必大家都会啦那就直接开干&#xff09; 首先上html结构 <view class"wx-container"><view id"title">录音机</view><view id"time">{{hours}}:{{minute}}:{{second}}</view>&l…

20240624在飞凌OK3588-C的Buildroot下查证GPIO64和gpiochip64的差异

20240624在飞凌OK3588-C的Buildroot下查证GPIO64和gpiochip64的差异 2024/6/24 20:19 GPIOchip代表GPIO控制器的编号&#xff0c;gpio代表特定GPIO的引脚号 本文以linux R4/Buildroot位例子&#xff0c;同样适用于Android12和其他【使用linux内核的】操作系统。 https://www.ji…

java医院绩效考核系统源码:医院绩效考核的发展趋势、医院绩效考核的具体方法

java医院绩效考核系统源码&#xff1a;医院绩效考核的发展趋势、医院绩效考核的具体方法 医疗机构绩效考核是对医疗机构绩效进行评估和分析的一项重要工作。它对医疗机构的发展起到了重要的指导和推动作用。本文将会分析国际上医院绩效考核的发展趋势以及医院绩效考核的具体方…

MySQL中的Redo-log是什么?有什么作用?

用来实现数据的恢复&#xff0c;数据被更新到缓冲区但没刷磁盘&#xff0c;然后MySQL宕机了&#xff0c;MySQL会通过日志恢复数据。 1.为什么需要Redo-log日志&#xff1f; MySQL绝大部分引擎都是基于磁盘存储数据的&#xff0c;每次读写数据都走磁盘&#xff0c;效率十分低下…

qt图像处理-将OpenCV的cv::Mat类型转换为QImage类型

在使用Qt进行图像处理时&#xff0c;经常需要将OpenCV的cv::Mat类型转换为QImage类型。以下是几种有效的方法&#xff0c;可以根据具体情况选择合适的方法进行转换。 方法一&#xff1a;直接使用QImage构造函数 这种方法直接使用QImage的构造函数&#xff0c;通过传递cv::Mat…

AI绘画Stable Diffussion 实操教程: 真人图片秒变动漫风,亲手绘制你的专属动漫头像

大家好&#xff0c;我是向阳 你是否曾幻想过自己置身于动漫世界&#xff0c;拥有那些令人羡慕的二次元特征&#xff1f;随着人工智能技术的飞速发展&#xff0c;这一幻想已不再遥不可及。在本文中&#xff0c;我们将一起揭开Stable Diffusion技术的神秘面纱&#xff0c;探索如…

WebFlux 和 Spring Security 会碰出哪些火花?

项目创建成功后&#xff0c;我们添加一个接口&#xff0c;用来获取登录用户信息&#xff0c;如下&#xff1a; RestController public class UserController { GetMapping(“/user”) public Mono getCurrentUser(Mono principal) { return principal; } } 注意我们的返…