在接触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++等库。**为什么我把它放第一?**作为一个程序员,我