尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

AI是什么?从机器学习到大模型的技术演进与实践指南

AI是什么?从机器学习到大模型的技术演进与实践指南 各位读者朋友我们几乎每天都在谈论“AI”但如果你真的坐下来深究“AI到底是什么”恐怕很多人的答案是模糊的。有人把 AI 等同于聊天机器人有人觉得 AI 就是人工智能也有人认为 AI 是一套无所不能的“黑科技”。这种概念上的模糊会在学习、选型、开发甚至面试时带来非常实际的困扰。本文将跳出“科普口号”从计算机科学的角度结合机器学习、深度学习和大模型的技术演进把 AI 的完整版图拆开讲清楚。同时会给出可以直接运行的代码示例帮助你从“知道”走向“理解”为后续学习 AI 应用开发、AI 工程实践打下扎实基础。文章适合正在学习的人工智能方向初学者也适合后端开发、运维、产品经理等需要系统了解 AI 技术的读者。1. AI 是什么从定义到技术边界1.1 一个被过度泛化的术语“人工智能”Artificial IntelligenceAI这个术语诞生于 1956 年的达特茅斯会议。狭义上AI 是计算机科学的一个分支目标是让机器模拟人类的智能行为比如学习、推理、感知、语言理解和决策。但在今天的技术语境下AI 这个词被过度泛化了。产品宣传里面稍微带点数据统计的功能都敢说自己“AI 加持”也因此很多人在学习初期会对这个概念产生严重理解偏差。为了后续讨论不跑偏我们先约定一个清晰的定义AI 是一门研究如何让机器具备“感知、决策、学习、推理”等技术能力的交叉学科。它的实现路径并不唯一而当前最主流的实现方式是机器学习尤其是深度学习以及近几年爆发的大规模语言模型。可以这样理解AI 是目标机器学习是实现目标的手段深度学习是机器学习中的一种方法而大模型又是深度学习在特定数据和算力规模下的一种产物。它们是层层包含的关系不是并列关系。1.2 强人工智能与弱人工智能业界通常把 AI 分为两种形态弱人工智能Narrow AI只擅长完成特定任务。例如人脸识别、语音转文字、商品推荐、文本摘要。当前所有商用 AI 系统包括 ChatGPT、文心一言、Midjourney本质上都是弱人工智能。它们只在训练过的任务上表现优秀换一个领域的能力立刻归零。强人工智能General AI能够像人类一样理解、学习和应用知识解决各种复杂问题具备通用认知能力。目前强人工智能还停留在理论研究和科幻作品当中并不存在。明白了这个边界就不会被“AI 要取代人类”之类的论调带偏。正确的心态是AI 是一项工具能力它能自动化重复性智力劳动但它目前并不能真正“理解”世界。1.3 为什么 2024 年之后的 AI 和以前不一样很多老一辈工程师经历过 2016 年 AlphaGo 击败李世石的震撼也见过人脸识别、语音助手的普及。为什么近几年大家突然感觉 AI “真正来了”核心变化在于三点大模型打破“单任务”限制GPT 系列、Claude、文心一言等模型用统一的语言建模目标让一个模型同时具备翻译、写作、编程、问答等多种能力并可以通过“提示词”自由切换。对话式交互降低使用门槛自然语言成了编程接口。过去调用 AI 能力需要写代码、训练模型现在只需要描述需求。生态和工具链成熟从开源模型Llama、Qwen、DeepSeek到云厂商 API从向量数据库到 AI Agent 框架快速搭建一个 AI 应用的技术成本大幅降低。这三点共同推动了“生成式 AI”的爆发。2. 机器学习AI 今天的核心实现方式2.1 机器学习的数学本质要理解 AI必须理解机器学习的底层思想。传统编程中我们编写规则输入数据得到输出。而机器学习反过来了我们提供大量“输入-输出”的样例让算法自动学习它们之间的映射关系。用一个更直白的方式理解传统编程你告诉机器“如果温度大于 30 度就开启空调”。机器学习你给机器一万条温度和空调开关的数据机器自己总结出“温度大于 30 度时大概率开空调”。这种从数据中发现规律的能力是当前 AI 系统的基石。机器学习通常分为三类学习范式核心思路典型应用监督学习通过“输入-标签”对学习映射垃圾邮件识别、房价预测、图像分类无监督学习从无标签数据中发现结构客户分群、异常检测、降维强化学习通过与环境交互获得奖励信号学习策略游戏 AI、机器人控制、自动驾驶2.2 深度学习为什么能后来居上深度学习是机器学习的一个子集。其核心区别在于使用了“多层神经网络”通过堆叠大量神经元层来自动提取数据的层次化特征。举个例子在图像识别任务中传统机器学习需要人工设计“边缘检测”“颜色直方图”等特征提取器而深度学习的卷积神经网络CNN会自动学习从像素到边缘、从边缘到纹理、从纹理到物体部件的特征层级。这种自动化特征提取能力让深度学习在处理图像、语音、文本等高维非结构化数据时表现出压倒性优势。2.3 最小可运行的机器学习示例下面用 sklearn 演示一个最基本的监督学习流程。这里使用的是鸢尾花数据集采用逻辑回归模型进行分类。这段代码可以完整运行建议读者亲自跑一遍体会机器学习的基本流程加载数据、拆分数据集、训练模型、评估结果。# 文件路径ml_demo.py from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split from sklearn.linear_model import LogisticRegression from sklearn.metrics import accuracy_score # 1. 加载数据 iris load_iris() X, y iris.data, iris.target # 2. 拆分训练集和测试集 X_train, X_test, y_train, y_test train_test_split( X, y, test_size0.3, random_state42 ) # 3. 训练模型 model LogisticRegression(max_iter200) model.fit(X_train, y_train) # 4. 预测与评估 y_pred model.predict(X_test) print(准确率, accuracy_score(y_test, y_pred))运行结果大致为准确率 1.0注意这里准确率很高是因为鸢尾花数据集本身非常简单、类别特征区分度明显。实际项目中的数据往往都带有噪声模型也很难达到这么高的准确率。此外写代码时如果遇到ConvergenceWarning通常表示迭代次数不够或数据需要标准化可以适当调大max_iter参数。3. 从机器学习到大模型技术演进中的关键节点3.1 Transformer现代大模型的基石2017 年Google 团队发表了论文《Attention Is All You Need》提出了 Transformer 架构。这个架构最重要的创新是“自注意力机制”Self-Attention它允许模型在处理序列数据时直接计算任意两个位置之间的关联权重从而解决了传统循环神经网络RNN难以捕捉长距离依赖的问题。简单解释自注意力机制的原理句子中的每个词都会生成三个向量查询向量 Query、键向量 Key、值向量 Value。通过 Query 和 Key 的点积计算注意力分数表示当前词与其他词的相关程度。将注意力分数作为权重对 Value 向量进行加权求和得到当前位置的上下文表示。这种设计的优势是并行度高、能捕捉长距离依赖、可扩展性好。后续的 BERT、GPT、T5 等模型全部建立在 Transformer 之上。3.2 预训练 微调大模型范式的形成Transformer 解决了模型结构问题但真正让大模型“智能”起来的是“预训练 微调”这套训练范式预训练阶段在大规模无标注文本上训练模型学习语言的基本规律。目标是让模型学会“补全”文本例如输入“中国的首都是”模型输出“北京”。微调阶段在特定任务的有标注数据上进行二次训练让模型适应下游任务比如情感分类、命名实体识别、指令遵循。随着模型参数量从亿级增长到千亿级、万亿级一个有意思的现象出现了模型在预训练阶段自动学习到了逻辑推理、代码生成、数学计算等能力而且涌现出一些在小型模型上完全不存在的能力。这就是大模型的“涌现能力”。2020 年的 GPT-3 已经展现出较强的少样本学习能力只需在提示词中给出几个示例就能完成新任务。3.3 大数据、大算力、大参数大模型的成功离不开三个要素大数据训练数据从过去的几十 GB 扩展到数 TB包含网页、书籍、代码、论文、对话记录等。大算力训练一个千亿参数模型需要数千张高性能 GPU 连续计算数周甚至数月。大参数参数量越大模型的容量越大能记忆和拟合的知识模式越丰富。这三点共同拉高了 AI 的硬件门槛。对独立开发者来说从零训练大模型几乎不现实更务实的路线是使用开源模型进行微调或直接调用大模型 API。4. 大模型与 AI Agent当前最主流的技术形态4.1 大模型到底能做什么大语言模型Large Language ModelLLM是目前 AI 应用开发中出镜率最高的模型类型。它能完成以下事情文本生成写文章、写代码、写邮件、生成广告文案。文本理解摘要、情感分析、信息抽取、关键词提取。对话交互多轮对话、角色扮演、客服问答。代码能力代码生成、代码解释、代码补全、Bug 修复。结构化输出根据指令生成 JSON、SQL、表格等格式化内容。因为能力集中在文本域LLM 也被称为“文本世界的操作系统”。4.2 RAG让大模型学会“查资料”大模型有一个固有缺陷训练数据有截止日期无法实时获取最新知识同时模型容易把不确定的内容“一本正经地胡说八道”。检索增强生成Retrieval-Augmented GenerationRAG是一种缓解方式。RAG 的核心流程是用户提问。系统先从知识库中检索最相关的文档片段。将检索结果和用户问题一起交给大模型。大模型基于检索内容生成答案。这样做的好处是答案可以引用企业私有数据满足可追溯性要求同时降低大模型出现无依据编造内容的概率。4.3 AI Agent从“问答”到“执行”如果说大模型是一个聪明的“大脑”那么 AI Agent智能体就是给这个大脑装上了“手和脚”让它能够调用工具、执行动作、完成闭环任务。一个典型的 AI Agent 工作流程是用户下达任务“帮我分析上个月的销售数据生成一份周报。”Agent 将任务拆解为多个步骤。Agent 调用数据分析工具、访问数据库、调用文档生成接口。Agent 根据完成情况迭代调整最终输出完整周报。当前主流的 Agent 开发框架包括 LangChain、LlamaIndex、AutoGen 等底层都是建立在“大模型 工具调用 记忆管理 任务规划”四个模块之上。4.4 最小的大模型调用示例下面展示一个最基础的大模型 API 调用示例。这里使用 Python 的openai库通过对话补全接口与模型交互。实际使用中你需要将api_key替换为自己的有效密钥同时注意接口地址和模型名称要按照你使用的平台进行配置。# 文件路径llm_demo.py from openai import OpenAI # 初始化客户端注意替换 api_key client OpenAI(api_key你的API_KEY) # 构造对话请求 response client.chat.completions.create( modelgpt-4o-mini, # 模型名称以实际可用模型为准 messages[ {role: system, content: 你是一名资深技术博主擅长用简洁清晰的语言解释技术概念。}, {role: user, content: 用三句话解释什么是大模型。} ], temperature0.7, ) # 输出模型回答 print(response.choices[0].message.content)运行这段代码会得到一个类似下面的结果大模型是一种在海量文本数据上训练出来的深度神经网络模型参数量通常达到数十亿甚至数千亿级别。它通过学习语言的统计规律具备文本生成、理解、推理等能力。大模型的核心价值在于它用同一种结构解决了翻译、写作、编程、对话等多种任务。这里需要提醒三个细节api_key属于敏感凭证不要提交到 Git 仓库建议通过环境变量或配置文件加载。model参数要根据所选平台的模型列表填写不同平台的命名方式不同。temperature控制生成随机性值越接近 0输出越确定值越大回答越发散。5. 核心项目实战构建一个具备记忆能力的 AI 问答助手这一节我们用 Flask 实现一个最简单的 AI 问答助手。和“裸调用”大模型不同我们会加入基础的历史记忆让助手能记住当前的对话上下文。通过这个项目可以直观理解大模型应用中“上下文管理”这个核心问题。5.1 创建项目结构首先创建一个项目目录命名为ai_chat_demo结构如下ai_chat_demo/ ├── app.py ├── requirements.txt └── .env.env文件用于存储 API 密钥避免把密钥硬编码在代码里。5.2 添加依赖与配置在requirements.txt中写入以下依赖flask3.0.3 openai1.35.3 python-dotenv1.0.1安装依赖pip install -r requirements.txt创建.env文件OPENAI_API_KEY你的API_KEY OPENAI_MODELgpt-4o-mini注意.env文件一定不要提交到 Git建议在.gitignore中添加.env条目。5.3 编写核心代码app.py完整代码如下# 文件路径ai_chat_demo/app.py import os from flask import Flask, request, jsonify from openai import OpenAI from dotenv import load_dotenv # 加载 .env 文件 load_dotenv() client OpenAI(api_keyos.getenv(OPENAI_API_KEY)) MODEL_NAME os.getenv(OPENAI_MODEL, gpt-4o-mini) app Flask(__name__) # 一个简单的临时会话存储生产环境建议使用 Redis 等外部存储 conversations {} def get_conversation(session_id: str): 获取会话历史如果不存在则创建空会话。 if session_id not in conversations: conversations[session_id] [] return conversations[session_id] app.route(/chat, methods[POST]) def chat(): 处理用户对话请求。 data request.get_json(forceTrue) session_id data.get(session_id, default) user_message data.get(message, ) if not user_message: return jsonify({error: message 不能为空}), 400 # 获取当前会话历史 history get_conversation(session_id) # 追加用户消息 history.append({role: user, content: user_message}) # 保留最近 20 条消息避免上下文过长 messages history[-20:] try: # 调用大模型 response client.chat.completions.create( modelMODEL_NAME, messagesmessages, temperature0.7, ) assistant_message response.choices[0].message.content # 追加助手回复 history.append({role: assistant, content: assistant_message}) return jsonify({ session_id: session_id, reply: assistant_message }) except Exception as e: return jsonify({error: str(e)}), 500 app.route(/reset, methods[POST]) def reset(): 重置指定会话的历史记录。 data request.get_json(forceTrue) session_id data.get(session_id, default) conversations[session_id] [] return jsonify({status: success}) if __name__ __main__: app.run(host0.0.0.0, port8000, debugTrue)5.4 运行与验证启动服务python app.py使用 curl 测试多轮对话curl -X POST http://127.0.0.1:8000/chat \ -H Content-Type: application/json \ -d {session_id: test-1, message: 我叫张三}第一次请求会得到一个自我介绍式的回应。接着追问curl -X POST http://127.0.0.1:8000/chat \ -H Content-Type: application/json \ -d {session_id: test-1, message: 我叫什么名字}由于历史记录中已经有了“我叫张三”这条消息模型会正确回答“你叫张三”。这就验证了会话记忆功能是生效的。5.5 这段代码体现的工程要点会话管理通过session_id区分不同用户用列表存储消息序列。上下文窗口限制大模型对输入长度有限制因此只保留最近 20 条消息防止超出窗口限制。异常处理所有调用大模型的外部依赖都应该放在 try-except 中避免上游故障拖垮整个应用。密钥管理使用环境变量加载密钥避免硬编码造成的安全隐患。6. 常见误区与 AI 幻觉你踩过哪几个坑6.1 高频误区速查下面列出初学者最容易出现的 AI 概念误区误区描述真相AI 就等于 ChatGPTChatGPT 只是 AI 应用的一种形态底层是大模型而大模型又是 AI 深度学习方向的一个产物不能画等号大模型什么都知道大模型的知识来自训练数据存在截止日期也不具备访问实时外部信息的能力模型越大效果一定越好参数规模只是因素之一数据质量、训练技巧、对齐水平同样关键AI 可以完全代替程序员当前 AI 能提升编码效率但需求分析、架构设计、代码审查、质量保障仍需人类介入微调是解决所有问题的手段很多场景先用 RAG 效果更好微调更适合改变模型风格、格式或特定领域知识AI 幻觉无法缓解幻觉无法彻底消除但可以通过 RAG、温度调节、提示词约束等方式大幅降低6.2 AI 幻觉最需要重视的问题AI 幻觉Hallucination指的是模型输出“看似合理、实则错误或虚构”的内容。大模型本质上是按概率预测下一个 token而不是在“数据库里检索答案”。它没有判断内容真假的能力只会生成“在统计学上最像正确答案”的文本。产生幻觉的主要原因包括训练数据本身包含错误或偏见。模型为了迎合提问者会生成置信度很高的虚假内容。用户问题中存在模型知识盲区模型不会说“不知道”而是会“编一个答案”。微调阶段使用了低质量标注数据破坏了模型的既有能力。降低幻觉的实际做法使用 RAG 引入外部知识让模型基于检索内容回答。在提示词中明确要求“基于以下资料回答资料中没有的信息请回答不知道”。将temperature调低减少随机性。增加人工审核环节在高风险场景中禁止模型直接对外输出。6.3 用代码演示幻觉现象下面这段代码展示了大模型幻觉的一个简单复现问模型一个训练数据中可能不存在的时间敏感问题。# 文件路径hallucination_demo.py from openai import OpenAI client OpenAI(api_key你的API_KEY) response client.chat.completions.create( modelgpt-4o-mini, messages[ {role: user, content: 请告诉我明年上证指数的预测点位是多少} ], temperature0.9, ) print(response.choices[0].message.content)模型可能会给出一个具体数字甚至附带看起来很专业的分析理由。但事实上没有任何模型能准确预测股票指数。这就是典型的“幻觉表现”内容看起来流畅、结构化但缺乏事实依据。生产环境中面对这类问题时正确的做法是直接拒绝回答或给出风险提示而不是输出虚假预测。7. AI 工程实践与学习路线建议7.1 从零开始的学习路线AI 方向的知识体系非常庞大如果盲目跟风很容易陷入“什么都学、什么都不精”的困境。下面是一条经过验证的学习路径第一阶段编程基础 数学基础。熟练 Python掌握 NumPy、Pandas复习线性代数、概率论和微积分中的核心概念。不要被数学吓到工程开发阶段 80% 场景只需要理解“向量、矩阵、概率分布、梯度”这几个概念即可。第二阶段机器学习入门。先完成吴恩达《Machine Learning》课程或《机器学习》周志华前几章理解模型、损失函数、优化器、过拟合这些核心术语。再用 sklearn 完成 3-5 个小项目比如房价预测、文本分类、客户分群。第三阶段深度学习基础。学习 PyTorch 或 TensorFlow 的基本使用理解神经网络前向传播、反向传播、常见网络结构MLP、CNN、RNN、Transformer。不需要从零复现所有模型但要能读懂官方文档示例。第四阶段大模型应用开发。从调用 API 开始掌握提示词工程、上下文管理、函数调用然后学习 RAG 技术栈掌握向量数据库、Embedding、重排序最后学习 Agent 框架理解任务规划与工具调用。第五阶段模型微调与部署。如果工作场景需要私有化模型再学习 LoRA、QLoRA 等轻量微调方案以及 vLLM、Ollama 等推理部署工具。7.2 AI 工程师的工程实践原则AI 应用开发与传统软件开发有显著不同下面几点是实操中容易踩坑的地方数据质量决定模型上限不要一上来就追求复杂模型先检查数据是否干净、标签是否准确、类别是否平衡。脏数据喂给再好的模型也只能得到一个“精致的错误”。建立评测集无论做 RAG、Agent 还是微调都要构建测试集和评测指标。没有评测就无法判断提示词调整和模型更换到底是变好还是变坏。注意上下文长度管理大模型的输入长度有限超长文档需要切片、摘要或向量化处理不能直接塞给模型。重视 API 成本控制提示词越长每次请求的 token 消耗越高。对高频用户场景设计简洁的提示词模板能显著降低成本。安全与合规不可忽视涉及用户隐私、金融、医疗等场景必须做输入输出过滤并严格评估模型生成内容的风险。7.3 如何跟进 AI 技术变化AI 领域的技术迭代速度极快今天的热点可能三个月后就被新方法替代。保持跟进的正确方式不是追着热搜跑而是建立自己的知识框架关注模型发布的官方技术报告而不是二手解读。定期阅读 Hugging Face、GitHub 趋势榜了解生态工具变化。动手复现开源项目再小的 Demo 也比收藏夹里吃灰的教程有价值。守住基础原理底层数学和算法演进相对稳定框架和工具会变但“注意力机制为什么有效”这类问题不会过时。很多读者问“学 AI 是不是必须读博、必须搞懂所有数学公式”。对于一个应用型工程师来说答案是否定的。你只需要把概念、流程和工具链建立起来再学会用代码和评测去验证想法就已经具备了参与 AI 工程实践的基本能力。随着经验积累再逐步深化底层原理这条路是走得通的。
返回列表