在接触AI应用开发的这段时间,我以为会像以前学.net,学java,学vue一样。先整个hello world,再一步一步学搭功能,学搭框架直到搭一个系统出来。然而,理想总是很丰满,现实很骨感。在实践的过程中各种千奇百怪的问题:
- 概念太多。你以为就GPT、LLM?太年轻了,huggingface、transformers、torch、tokenizers、langchain、modelscope、fastapi、CUDA、cuDNN、Conda、vLLM、ResNet-50、top_p等等等等....它们有些是工具,有些只是个库,有些甚至就是个参数名以及还有些我到现在都不知道是个啥。
- 运行代码时,经常莫名奇妙地各种报错。以前学vue的时候,我以为前端的包已经够混乱了,直到开始接触AI,没有最混只有更混。
- 运行时间太长,且结果不确定。没有云上足够的算力和显卡,一个简单的代码运行少则10分钟,多则几小时,一般人是忍受不了的。就算当你历经千辛万苦程序跑完了,你会发现不太容易验证运行结果的正确性,不知道改了某个参数到底是起没起作用。
看了网上一堆AI开发的文章,得出两个字总结:写的都是垃圾!对,都是
在学的过程中,我就想着。等我做出个东西。一定要把这些个牛鬼蛇神给掰扯清楚。废话不多说,故事就从hello world说起。
工具准备
- MiniConda 首先装这个,这个玩意有点像docker,可以隔离多个项目的python环境,并且默认带有vc++等库。为什么我把它放第一?作为一个程序员,我还是有洁癖的,开始的时候我非常不想装这玩意,直接装个python 3.12,手动pip install霹雳巴拉下各种包多潇洒。直到运行一个最简单的代码缺各种依赖环境时,不但缺python的包,竟然还缺各种dll,还缺vc++运行时,当时心里各种NMBD....然后老老实实把它装上了,一切都顺了。安装它会默认会集成python,所以不用单独装python。我装的版本:MiniConda3 py312_24.7.1
- PyCharm 开发python的第一选择。开始我用的vs code,调试运行各种手动命令敲烦了,还是pycharm按钮好使。
就先装这俩吧。
环境准备
电脑cmd命令提示符。设置清华的镜像,用于后面下载各种python的包。默认国外的镜像和.net nuget包、java maven库及前端npm包一个尿性卡的要死,只能用国内的。
python -m pip install --upgrade pip pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
新建项目
直接pycharm新建一个项目,名字随便起。毕竟我们是整大模型的,不是学python入门的。叫llmTest吧!如图1: