非科班出身但是必须得学啊,不学不就寄了吗。

一.什么是大模型(就和教材课本一样先讲概念)

1.1Large Model,大模型顾名思义就是大的模型,这样说还真没错,书面一点就是拥有海量参数(超过10亿参数,其实这个只有定性没有明确定量定义)的AI模型,故此可以知道其实还有小模型,就是小的模型,也就是参数比较少的模型。大模型的大主要体现在:参数大(多),处理的数据量大,需求算力大

1.2经常听见LLM模型,Large Language Model大语言模型,可见它是大模型中的一个分支,专门用于处理人类语言文本的模型,所以可以举一反三,大图片模型、大视频模型、大音频模型,当然了不是叫这个名字,而是叫做视觉模型,我不知道有没有听觉模型这种东西啊,反正就是可以举一反三的分类嘛,也由此可以看出,这种分类的方式其实是基于模型处理的数据类型来分类,而比如说一个模型可以同时处理文本、音频、图片(这样看起来像凑一部影片需要的东西哈),就可以叫做多模态模型就是一个模型可以同时多种数据类型,当然还有那种专门搞学术的、生物医药等的大模型就叫做科学计算大模型。不过现在的大模型已经没有这么严肃的界限区分了。

二.大模型使用要素(一个大模型跑起来需要些什么,反正我是这样的学习思路,因为我发现没人说,很多人说大模型就觉得大模型可以直接用怎么样的,但实际上大模型用起来是一个系统工程

大模型使用起来需要以下几样东西:1.大模型文件、2.推理框架、3.硬件与软件环境、4.辅助周边工具与软件

2.1大模型文件

这是大模型的根基,是一堆装有模型权重参数(.safetensors.bin格式)、网络结构配置文件(如config.json)以及分词器(Tokenizer)等静态的数据文件它是无法直接运行或回答问题的。

2.2推理框架

这是大模型的执行载体,它负责加载模型文件,调度计算资源(如GPU),并高效地执行预测(推理)任务。

核心作用:将静态的模型文件转化为可提供服务的动态进程。它负责处理输入(分词)、执行模型的前向计算、管理缓存(KV Cache)并生成输出。

为什么需要它:直接使用PyTorch等训练框架进行推理,性能往往不佳。专业的推理框架通过计算图优化、算子融合、内存管理和量化压缩等技术,能将推理性能提升3-10倍,并降低50%以上的资源成本。

推理框架选择:

vLLM:适合高吞吐、高并发的生产环境,推理速度极快。

llama.cpp:轻量级,对CPU运行非常友好,适合个人电脑或资源受限的场景。

Ollama:最简单,支持一键部署,适合快速体验和入门。

TensorRT-LLM:NVIDIA出品,专为NVIDIA GPU进行深度优化,性能极致。

其他:还有TGI、ONNX Runtime等。

2.3硬件与软件环境

这个就不用说了吧,起码得有台笔记本大致就这个意思,或者再简单有个专门的单片机也行。甚至说你不在本地跑大模型都不需要GPU的。

GPU:最关键的硬件。对于7B-13B参数的模型,通常建议使用显存≥16GB的NVIDIA GPU;对于生产环境或更大模型,可能需要多卡并联(如A100 80GB)。

CPU与内存:同样重要。推荐8核以上CPU和64GB以上内存。

软件环境:需要安装NVIDIA GPU驱动、CUDA计算库以及Python环境和必要的Python包(如transformerstorch等)。(这里全部讲的是国外的软硬件,诚然国外的IT行业技术以及生态发展完善,但是现在国内也有公司推出了相关的软硬件,随着政策要求国产化,虽然目前国产的软硬件适配存在问题,但最好还是学习一下国产的东西要怎么去用,我也在学习,虽然还不怎么好用就是了

2.4辅助周边工具与软件

这个说白了就是,做一个前端界面出来,把接口封装起来,让这个工具给普通人也可以用(毕竟是要做成一个完成的应用服务的),没有这一层的话,也可以,但是吧不美观,没有人想每次都在终端命令行中敲IP地址以及各种符号,况且,还记得前面说过得多模态模型,也就是说大模型返回的东西,可能不仅是文本,它也可以是图片、音视频、或者是ppt工程文件等等,所以这些返回结果不是像文本返回结果那样人可以读懂的,所以就需要辅助周边工具与软件了。

模型工具:

模型加载与调用库:如Hugging Face的Transformers库,它是与模型文件交互的标准工具。(不懂,但感觉就是一个模型管理的一个东西吧,感觉和ollma中选择模型部分功能很像啊,但olllama主要还是干的推理的事)

应用开发框架:如LangChain或LlamaIndex,用于构建复杂的应用,如RAG(检索增强生成)。(这个就是应用开发框架了,其实dify/coze也算吧,但是毕竟低代码开发看起来很low,我们技术顾问这么说的,反正在我看来都一样,而且很多产品都想要定制化的东西,所以就还是LangChain这种开发方式比较好吧,我还没用过,等我学了,用了,肯定还是会写的,还有什么LangGraph等等)

服务化组件:

Web服务框架:如FastAPI,用于将推理引擎封装成API接口。(这个的话用的比较多,我还是比较熟悉的)

负载均衡:如Nginx,用于分发请求,支持高并发。(用过,不常用,不熟)

监控系统:如Prometheus和Grafana,用于监控服务性能和健康状况。(不懂,后面学了用了再说)

总结:大模型是一个工程系统,大模型要跑起来,至少需要物理软硬件、大模型文件、推理框架,有这三样就可以跑了,然后想要一个完成的应用服务,就要周边软件工具来完善美化这个服务了。

这一篇,暂时就写这些,这些也算是我大模型学习初期的一些疑惑了,比如一开始我就会疑惑大模型到底什么(物理层的是什么哈,不是定义层),到底是一个文件还是其它的什么东西,什么格式的文件,装的是什么,一个文件怎么就可以回答问题了,哦,原来还有推理框架这个东西。我初期也还是很疑惑这些看起来很傻瓜且不重要的问题,我学东西需要去刨根问底才学的下去。

吐槽一下:一开始学习编程语法的时候,都还有课本,什么c++ python,以及一些前端框架等等,好像这个AI,也没见一个人出来写本教材哈,可能顶尖的大佬们都还在往前着急抢占,想垄断,想占先机吧,还腾不出手来写这种东西,也可能是AI的发展还没有完全定形,或者说这东西吧,就不好去定性地去写。下一篇文章见!

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐