作为一名主要从事Web产品开发的软件开发人员,我一直对新兴技术充满好奇。在ChatGPT发布后,人们对AI的兴趣爆发,这激发了我深入研究这个迷人领域的愿望。以下是我的旅程如何展开的。
我从YouTube视频开始,包括(Wolfram的解释)和深入了解像ChatGPT这样的LLM,它分解了ChatGPT如何预测句子中的下一个单词(如果你不想观看视频,你可以阅读文章中的文字记录)。
这个介绍让我大开眼界——它揭示了AI,特别是大型语言模型(LLM),已经变得多么先进。它还向我介绍了LLM领域的基础概念,为我更深入的探索奠定了基础。
从那以后,我开始学习不同的LLM,例如Llama、GPT、Claude等。这个阶段主要是理解技术方面,如上下文长度、tokens(输入和输出)、参数、embeddings、FLOPS(每秒浮点运算次数)、RAG(检索增强生成)。为了使事情更实用,我尝试使用像Ollama这样的工具在本地运行LLM。这是我第一次亲身体验本地模型,我对它们的潜力感到惊讶。
这个阶段的一些资源:
仅仅理解这些技术术语是不够的,我们必须探索并亲自动手实践,才能真正理解这些术语是如何相互关联的,以及它们在什么地方发挥作用,以及为什么需要它们。我使用Jupyter Notebook探索了它们——这个工具允许我为各种任务运行Python指令。这使我进入了像LangChain和Kaggle这样的平台,在那里我尝试了基本的LLM训练和模型微调。这些经验帮助我理解了AI模型是如何训练和微调的,让我对它们的能力有了更全面的了解。
这个阶段的一些资源:
有了这些不断增长的知识,我开始使用像Cursor和Windsurf这样的工具构建AI驱动的应用程序(数独,Page Saver),这些工具通过AI驱动的编辑器得到增强。我很快意识到AI对于开发人员来说是多么具有变革性。我在软件开发中面临的许多挑战都可以通过AI来简化,甚至完全解决。这是一个关键时刻,突显了AI在重塑我们工作方式方面的巨大潜力。
随着我真正开始使用提示构建一些东西,这个旅程还在继续,首先是一些使用不同框架调用不同API的例子。由于我目前主要使用GoLang,所以我用GoLang进行了实践。一些尝试被记录到一些博客文章中,例如:
有了所有这些基础知识,就可以构建一个由AI驱动的更复杂的应用程序。
虽然我的旅程仍在进行中,但有一点是明确的——AI不仅仅是一种趋势:它是未来。我所采取的每一步都加深了我对这个领域及其可能性的理解。我很高兴看到这段旅程将把我带到哪里,以及AI将如何继续彻底改变我们的生活,无论是作为开发人员还是作为个人。
great article