LLM:Day2
一、上午:理论学习(NLP 基础 + 词嵌入)—— 先搞懂 “是什么” 和 “为什么”
1. NLP 基础扫盲:从 “人类语言” 到 “计算机能懂的语言”
(1)什么是 NLP?
- 定义:NLP 全称 “自然语言处理”(Natural Language Processing),是 AI 的一个分支,目的是让计算机 “理解、处理、生成人类语言”(比如中文、英文、日文等)。
- 为什么重要:我们每天用语言交流(聊天、发消息、写文档),计算机如果能懂语言,就能帮我们做很多事(比如自动回复消息、分类邮件、生成报告)。
(2)NLP 的 4 个核心任务(必须结合场景理解)
(3)评价指标:给计算机 “打分” 的标准
- 为什么需要指标:就像考试要打分判断学生学得好不好,计算机处理语言也需要 “评分标准”,看它做得怎么样。
- 分类任务指标(文本分类、NER 用):
- Accuracy(准确率):
- 公式:(做对的题数)÷(总题数)
- 例子:100 条短信,计算机正确分类了 85 条,准确率就是 85%。
- Precision(精确率):
- 公式:(被计算机标为 “垃圾短信” 且确实是垃圾短信的数量)÷(计算机标为 “垃圾短信” 的总数量)
- 例子:计算机说 “这 10 条是垃圾短信”,其中 8 条真的是,精确率 = 8/10=80%(反映 “少冤枉好人” 的能力)。
- Recall(召回率):
- 公式:(被计算机正确标为 “垃圾短信” 的数量)÷(实际所有垃圾短信的数量)
- 例子:实际有 10 条垃圾短信,计算机只找到 7 条,召回率 = 7/10=70%(反映 “少漏掉坏人” 的能力)。
- F1 分数:
- 作用:当精确率和召回率 “打架” 时(比如精确率高但召回率低),用 F1 综合评价(类似 “平均分”)。
- Accuracy(准确率):
- 生成任务指标(文本生成、翻译用):
- BLEU:看计算机生成的文本和 “标准答案” 像不像(比如翻译 “你好”,生成 “hello” 比生成 “goodbye” 分数高)。
- ROUGE:常用于摘要任务(比如把一篇长文缩成短文,看缩短后的内容是否覆盖原文重点)。
2. 词嵌入入门:让计算机 “看懂” 词语的含义
(1)为什么需要词嵌入?
- 计算机只认识 “数字”,但人类语言是 “文字”(比如 “猫”“狗”)。如果直接把文字变成随机数字(比如 “猫 = 1”“狗 = 2”),计算机无法知道 “猫和狗都是动物”(因为 1 和 2 没有语义关联)。
- 词嵌入的作用:把每个词变成一串 “有意义的数字”(称为 “词向量”),让语义相近的词,数字也相近(比如 “猫” 和 “狗” 的词向量很像,“猫” 和 “桌子” 的词向量差别大)。
(2)两种经典的词嵌入方法(不用懂原理,先记作用)
(3)关键结论:词嵌入的核心价值
- 词向量是 NLP 的 “地基”:后续所有大模型(比如 BERT、GPT)处理文本时,第一步都是把文字转换成词向量,否则计算机无法理解语义。
二、下午:动手实践(环境搭建 + HF 工具初体验)—— 一步一步跟着做,保证能成功
1. 环境搭建:给电脑装 “AI 工具包”(就像给手机装 APP)
(1)安装 Python(编程 “地基”,必须先装)
- 为什么需要:Python 是写 AI 程序最常用的语言,就像 “普通话”,所有 AI 工具都支持用 Python 交流。
- 详细步骤:
- 打开浏览器,输入网址:Download Python | Python.org(Python 官网)。
- 点击 “Download Python 3.12.4”(或更高版本,根据电脑系统自动推荐),下载安装包。
- 双击安装包,务必勾选 “Add Python to PATH”(这是关键!否则后续命令会报错),然后点 “Install Now”。
- 验证是否安装成功:
- 打开 “命令提示符”(Windows:按 Win+R,输入 “cmd” 回车)或 “终端”(Mac: Spotlight 搜 “终端”)。
- 输入
python --version
,如果显示 “Python 3.12.4”(版本号可能不同),说明安装成功。
(2)安装 PyTorch(AI “计算器”,处理数据和模型)
- 为什么需要:PyTorch 是一个 “计算框架”,能帮我们处理复杂的数学运算(比如模型训练中的矩阵计算),没有它,AI 模型跑不起来。
- 详细步骤:
- 打开浏览器,输入网址:PyTorch(PyTorch 官网)。
- 点击 “Install”,按以下参数选择(新手推荐):
- PyTorch Build:Stable(稳定版)
- Your OS:Windows(或 Mac)
- Package:Pip
- Language:Python
- Compute Platform:CPU(如果你的电脑没有英伟达显卡,选 CPU;有则选 CUDA,训练更快)
- 复制生成的命令(比如 CPU 版可能是:
pip3 install torch torchvision torchaudio
)。 - 打开 “命令提示符”/“终端”,粘贴命令,回车等待安装(可能需要 10 分钟,期间别关窗口,出现 “Successfully installed...” 就是成功)。
(3)安装 Hugging Face 工具(AI “工具箱”,直接用现成模型)
- 为什么需要:Hugging Face 是一个开源社区,里面有大量现成的 AI 模型(比如情感分析模型、翻译模型)和数据集,我们不用自己从零写模型,直接用它的工具调用即可。
- 需要安装的两个核心库:
transformers
:存放各种预训练模型(比如 BERT、GPT)的工具库。datasets
:存放各种数据集(比如电影评论、问答数据)的工具库。
- 安装步骤:
- 打开 “命令提示符”/“终端”,输入以下两个命令(一行一行输,输完一个等安装完再输下一个):
bash
pip install transformerspip install datasets
- 再安装 Jupyter Notebook(写代码的 “笔记本”,方便调试):
bash
pip install jupyter
- 打开 “命令提示符”/“终端”,输入以下两个命令(一行一行输,输完一个等安装完再输下一个):
(4)验证环境是否安装成功(关键步骤!必须做)
- 目的:确认所有工具都能正常工作,否则后续代码会报错。
- 步骤:
- 打开 “命令提示符”/“终端”,输入
jupyter notebook
,会自动弹出浏览器窗口(显示你电脑的文件夹)。 - 点击右上角 “New”→“Python 3”(新建一个代码文件)。
- 在弹出的代码框中,输入以下 3 行代码(一行一行输,每输完一行按 “Shift+Enter” 运行):
python
运行
import torch # 测试PyTorchimport transformers # 测试Hugging Face模型库import datasets # 测试Hugging Face数据集库
- 如果没有报错(代码框左边出现数字,比如 “[1]”“[2]”),说明环境安装成功!
- 如果报错(比如 “ModuleNotFoundError: No module named \'torch\'”),说明对应库没装好,重新运行安装命令即可。
- 打开 “命令提示符”/“终端”,输入
2. 初体验:用一行代码让 AI 做 “情感分析”(感受 AI 的神奇)
(1)什么是情感分析?
- 让 AI 判断一段文本的情绪是 “正面”(比如 “我很开心”)还是 “负面”(比如 “我很生气”)。
- 我们用 Hugging Face 的
pipeline
工具(类似 “现成的小程序”),不用自己写模型,直接调用。
(2)详细操作步骤
- 确保 Jupyter Notebook 已打开(如果关闭了,重新在 “命令提示符”/“终端” 输入
jupyter notebook
)。 - 新建一个 Python 文件(右上角 “New”→“Python 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