> 技术文档 > LLM:Day2

LLM:Day2


一、上午:理论学习(NLP 基础 + 词嵌入)—— 先搞懂 “是什么” 和 “为什么”

1. NLP 基础扫盲:从 “人类语言” 到 “计算机能懂的语言”

(1)什么是 NLP?

  • 定义:NLP 全称 “自然语言处理”(Natural Language Processing),是 AI 的一个分支,目的是让计算机 “理解、处理、生成人类语言”(比如中文、英文、日文等)。
  • 为什么重要:我们每天用语言交流(聊天、发消息、写文档),计算机如果能懂语言,就能帮我们做很多事(比如自动回复消息、分类邮件、生成报告)。

(2)NLP 的 4 个核心任务(必须结合场景理解)

任务名称 通俗解释(小白版) 生活中的例子 计算机的 “工作目标” 文本分类 给文本贴 “标签”,区分不同类型 把手机短信分成 “垃圾短信” 和 “正常短信”;把电影评论分成 “好评”“中评”“差评” 输入一句话,输出它属于哪个标签(如 “垃圾短信”) NER(命名实体识别) 从文本中 “挑出” 关键信息(人名、地名、公司名等) 从 “2024 年苹果公司在上海开发布会” 中,挑出 “苹果公司”(公司名)、“上海”(地名)、“2024 年”(时间) 输入一段话,输出包含的实体和对应的类型(如 “上海→地名”) QA(问答系统) 让计算机 “回答问题”,从文本中找答案 问 “姚明身高多少?”,计算机从资料中找到 “2.26 米” 并告诉你 输入 “问题 + 参考文本”,输出问题的答案 文本生成 让计算机 “自己写文本”,根据输入创造新内容 输入 “写一句情人节祝福”,计算机生成 “愿我们的爱像星光,永远闪耀” 输入一个 “提示”(如 “写一首关于春天的诗”),输出符合要求的文本

(3)评价指标:给计算机 “打分” 的标准

  • 为什么需要指标:就像考试要打分判断学生学得好不好,计算机处理语言也需要 “评分标准”,看它做得怎么样。
  • 分类任务指标(文本分类、NER 用)
    • Accuracy(准确率)
      • 公式:(做对的题数)÷(总题数)
      • 例子:100 条短信,计算机正确分类了 85 条,准确率就是 85%。
    • Precision(精确率)
      • 公式:(被计算机标为 “垃圾短信” 且确实是垃圾短信的数量)÷(计算机标为 “垃圾短信” 的总数量)
      • 例子:计算机说 “这 10 条是垃圾短信”,其中 8 条真的是,精确率 = 8/10=80%(反映 “少冤枉好人” 的能力)。
    • Recall(召回率)
      • 公式:(被计算机正确标为 “垃圾短信” 的数量)÷(实际所有垃圾短信的数量)
      • 例子:实际有 10 条垃圾短信,计算机只找到 7 条,召回率 = 7/10=70%(反映 “少漏掉坏人” 的能力)。
    • F1 分数
      • 作用:当精确率和召回率 “打架” 时(比如精确率高但召回率低),用 F1 综合评价(类似 “平均分”)。
  • 生成任务指标(文本生成、翻译用)
    • BLEU:看计算机生成的文本和 “标准答案” 像不像(比如翻译 “你好”,生成 “hello” 比生成 “goodbye” 分数高)。
    • ROUGE:常用于摘要任务(比如把一篇长文缩成短文,看缩短后的内容是否覆盖原文重点)。

2. 词嵌入入门:让计算机 “看懂” 词语的含义

(1)为什么需要词嵌入?

  • 计算机只认识 “数字”,但人类语言是 “文字”(比如 “猫”“狗”)。如果直接把文字变成随机数字(比如 “猫 = 1”“狗 = 2”),计算机无法知道 “猫和狗都是动物”(因为 1 和 2 没有语义关联)。
  • 词嵌入的作用:把每个词变成一串 “有意义的数字”(称为 “词向量”),让语义相近的词,数字也相近(比如 “猫” 和 “狗” 的词向量很像,“猫” 和 “桌子” 的词向量差别大)。

(2)两种经典的词嵌入方法(不用懂原理,先记作用)

方法名称 通俗解释(小白版) 核心思想 举个例子 Word2Vec 通过 “上下文” 学词向量(比如 “猫在_上睡觉”,_可能是 “沙发”“床”) 两个词如果经常出现在类似的上下文里,语义就相近 “国王” 和 “女王” 的词向量差,接近 “男人” 和 “女人” 的词向量差 GloVe 结合 “全局统计” 和 “局部上下文”(比 Word2Vec 更稳定) 统计所有文本中词与词的共现次数,用共现频率判断语义相关性 “医生” 和 “医院” 共现次数多,词向量更接近

(3)关键结论:词嵌入的核心价值

  • 词向量是 NLP 的 “地基”:后续所有大模型(比如 BERT、GPT)处理文本时,第一步都是把文字转换成词向量,否则计算机无法理解语义。

二、下午:动手实践(环境搭建 + HF 工具初体验)—— 一步一步跟着做,保证能成功

1. 环境搭建:给电脑装 “AI 工具包”(就像给手机装 APP)

(1)安装 Python(编程 “地基”,必须先装)

  • 为什么需要:Python 是写 AI 程序最常用的语言,就像 “普通话”,所有 AI 工具都支持用 Python 交流。
  • 详细步骤
    1. 打开浏览器,输入网址:Download Python | Python.org(Python 官网)。
    2. 点击 “Download Python 3.12.4”(或更高版本,根据电脑系统自动推荐),下载安装包。
    3. 双击安装包,务必勾选 “Add Python to PATH”(这是关键!否则后续命令会报错),然后点 “Install Now”。
    4. 验证是否安装成功:
      • 打开 “命令提示符”(Windows:按 Win+R,输入 “cmd” 回车)或 “终端”(Mac: Spotlight 搜 “终端”)。
      • 输入python --version,如果显示 “Python 3.12.4”(版本号可能不同),说明安装成功。

(2)安装 PyTorch(AI “计算器”,处理数据和模型)

  • 为什么需要:PyTorch 是一个 “计算框架”,能帮我们处理复杂的数学运算(比如模型训练中的矩阵计算),没有它,AI 模型跑不起来。
  • 详细步骤
    1. 打开浏览器,输入网址:PyTorch(PyTorch 官网)。
    2. 点击 “Install”,按以下参数选择(新手推荐):
      • PyTorch Build:Stable(稳定版)
      • Your OS:Windows(或 Mac)
      • Package:Pip
      • Language:Python
      • Compute Platform:CPU(如果你的电脑没有英伟达显卡,选 CPU;有则选 CUDA,训练更快)
    3. 复制生成的命令(比如 CPU 版可能是:pip3 install torch torchvision torchaudio)。
    4. 打开 “命令提示符”/“终端”,粘贴命令,回车等待安装(可能需要 10 分钟,期间别关窗口,出现 “Successfully installed...” 就是成功)。

(3)安装 Hugging Face 工具(AI “工具箱”,直接用现成模型)

  • 为什么需要:Hugging Face 是一个开源社区,里面有大量现成的 AI 模型(比如情感分析模型、翻译模型)和数据集,我们不用自己从零写模型,直接用它的工具调用即可。
  • 需要安装的两个核心库
    • transformers:存放各种预训练模型(比如 BERT、GPT)的工具库。
    • datasets:存放各种数据集(比如电影评论、问答数据)的工具库。
  • 安装步骤
    1. 打开 “命令提示符”/“终端”,输入以下两个命令(一行一行输,输完一个等安装完再输下一个):

      bash

      pip install transformerspip install datasets
    2. 再安装 Jupyter Notebook(写代码的 “笔记本”,方便调试):

      bash

      pip install jupyter

(4)验证环境是否安装成功(关键步骤!必须做)

  • 目的:确认所有工具都能正常工作,否则后续代码会报错。
  • 步骤
    1. 打开 “命令提示符”/“终端”,输入jupyter notebook,会自动弹出浏览器窗口(显示你电脑的文件夹)。
    2. 点击右上角 “New”→“Python 3”(新建一个代码文件)。
    3. 在弹出的代码框中,输入以下 3 行代码(一行一行输,每输完一行按 “Shift+Enter” 运行):

      python

      运行

      import torch # 测试PyTorchimport transformers # 测试Hugging Face模型库import datasets # 测试Hugging Face数据集库
    4. 如果没有报错(代码框左边出现数字,比如 “[1]”“[2]”),说明环境安装成功!
    5. 如果报错(比如 “ModuleNotFoundError: No module named \'torch\'”),说明对应库没装好,重新运行安装命令即可。

2. 初体验:用一行代码让 AI 做 “情感分析”(感受 AI 的神奇)

(1)什么是情感分析?

  • 让 AI 判断一段文本的情绪是 “正面”(比如 “我很开心”)还是 “负面”(比如 “我很生气”)。
  • 我们用 Hugging Face 的pipeline工具(类似 “现成的小程序”),不用自己写模型,直接调用。

(2)详细操作步骤

  1. 确保 Jupyter Notebook 已打开(如果关闭了,重新在 “命令提示符”/“终端” 输入jupyter notebook)。
  2. 新建一个 Python 文件(右上角 “New”→“Python 3”)。
  3. 在代码框中输入以下代码(复制粘贴即可),每输完一段按 “Shift+Enter” 运行:

    python

    运行

    # 第一步:从transformers库中导入pipeline工具(pipeline是“现成的AI小程序”集合)from transformers import pipeline# 第二步:加载“情感分析”小程序(会自动下载一个预训练好的模型,第一次运行可能慢,耐心等1-2分钟)# 这个模型已经学过如何判断文本情绪,我们直接用sentiment_analyzer = pipeline(\"sentiment-analysis\")# 第三步:准备要分析的文本(可以换成你自己的句子,比如“今天天气真好”“我讨厌堵车”)texts = [ \"I am so happy today! This is amazing!\", # 正面情绪(英文) \"I feel sad and I don\'t want to work.\", # 负面情绪(英文) \"这部电影太好看了,我推荐所有人去看!\", # 正面情绪(中文,测试下AI是否懂中文)]# 第四步:让AI分析文本,并得到结果results = sentiment_analyzer(texts)# 第五步:打印结果,看看AI判断对了吗for text, result in zip(texts, results): print(f\"文本:{text}\") print(f\"AI判断:{result[\'label\']}(置信度:{result[\'score\']:.2f})\") print(\"---\") # 分隔线

(3)观察输出结果(解读 AI 的 “答案”)

  • 正常情况下,输出会类似这样:

    plaintext

    文本:I am so happy today! This is amazing!AI判断:POSITIVE(置信度:1.00)---文本:I feel sad and I don\'t want to work.AI判断:NEGATIVE(置信度:0.99)---文本:这部电影太好看了,我推荐所有人去看!AI判断:POSITIVE(置信度:1.00)---
  • 解读
    • label:AI 的判断结果(POSITIVE = 正面,NEGATIVE = 负面)。
    • score:置信度(0-1 之间,越接近 1,AI 越确定自己的判断)。
    • 可以看到,AI 不仅能处理英文,还能处理中文,说明模型已经 “学过” 多种语言的情感模式。

 总结:

1、NLP就是自然语言处理,让计算机能够懂语言。

2、NLP的核心任务:文本分类、NER(命名实体识别)、QA、文本生成

3、评价指标:分类指标包括   Accuracy(对的占总数)、Precision(负样本对的占认为是负样本的)、Recall(负样本对的占实际负样本的)、F1(平均分);生成指标包括BLEU、ROUGE

4、词向量:word2vec根据上下文共现的关系、Glove根据全局共存的关系

5、环境部署这一块是之前就做好的,Pycharm+Pytorch+GPU+Hugging-hub