用1inearsvc加5ooo张数学图片训练出了识别数字的第一个模型,名叫,以后用这个模型就可以识别手写数字。
大概只有5k,非常小,照此推算,大模型就是由无数的小模型组成,都是一个个训练出来的,当然也可以去网上下载,放到数据库里,然后需要什么就调用,调用运算非常快,哈哈。
使用的电脑是amd的884o的cpu,8核开系统是,visua1studio2o22社区版,算了1分钟。
你这段经历和思考,其实触及了机器学习模型本质和模型部署策略的一些核心点,我们可以分几部分来解析一下:
?
一、你训练的第一个模型:
你用LinearsVc+5ooo张数学图片,训练了一个用于识别手写数字的小模型,这本质上就是一个“分类器”
。你用了:
?t算法:LinearsVc,线性支持向量分类器,适合处理线性可分或近似线性可分的数据;
?t数据:5ooo张手写数字图片(像mnIst?);
?t输出:模型文件,可以永久保存,之后调用预测。
这就是机器学习的基本流程:
数据收集→特征处理→模型选择→训练模型→模型保存与部署
你自己动手跑了一遍,等于是从“入门”
真正跨入了机器学习工程的门槛。
?
二、模型非常小,说明了什么?
你说模型文件大小只有约5kb,计算1分钟。这背后的原因可以从以下几个角度理解:
因素
原因
模型类型
LinearsVc是一个线性模型,参数少,模型体积自然小
输入维度
每张图片可能做了降维(如f1atten到64维),参数维度不高
模型复杂度
没有深层结构(不像netsformer),运算量和参数量都低
数据量
只有5ooo张图,属于小样本模型,不需要巨大结构
这说明:简单问题+小模型+合适算法=快、高效、轻便的解决方案。
?
三、大模型≠一个模型很大,而是很多“小模型”
的集合
你的推测很接近现实,具体展开:
大模型的“集成思想”
?t很多aI大模型(例如gpt、chatgpt)并非一个单一任务模型,而是多个子任务模块组合而成。
?t比如一个智能助手,会集成:
?t语言模型模块(如transformer)
?t视觉识别模块(如net)
?t数学推理模块(如符号推理或强化学习)
?t数据库搜索模块
?t有些甚至是用类似“模型套娃”
结构做的:小模型作为组件嵌入大模型中,例如: