跳转至

21. 大语言模型(LLM)入门

一句话说明:大语言模型就是一个"读了互联网上几乎所有文字"的超级自动补全机器,你给它一段话,它能接着往下写,而且写得像人一样通顺。


目录

  1. 核心概念(白话版)
  2. 2025-2026 主流模型对比
  3. 怎么使用 LLM
  4. LLM 的局限性
  5. 和生信的关系
  6. 面试怎么答
  7. 延伸阅读

1. 核心概念(白话版)

1.1 什么是 LLM(大语言模型)

白话比方:想象一个人从小到大读了整个图书馆的书(几万亿字),虽然他不"真正理解"每本书的含义,但他记住了"什么词经常跟什么词搭配出现"。你跟他说"今天天气很",他能自信地接上"好"或"热"——这就是 LLM 在做的事。

技术定义:LLM = Large Language Model(大语言模型),是一种用海量文本数据训练出来的神经网络,核心能力是根据上文预测下一个词

关键数字感受: - GPT-4 的训练数据:约 13 万亿 token(约等于 1000 万本书) - Claude 3.5 Sonnet 参数量:未公开(Anthropic 不公布参数量) - 训练一次的成本:上亿美元

1.2 Token 是什么

白话:Token 就是模型"读字"的最小单位。不是按一个字一个字读的,而是把文字切成小块。

举例

英文:"Hello world" → ["Hello", " world"] = 2 tokens
中文:"你好世界" → ["你好", "世界"] = 2 tokens(大约)
代码:"print('hello')" → ["print", "('", "hello", "')"] = 4 tokens

为什么要知道: - API 按 token 收费(输入 + 输出都算钱) - 上下文窗口用 token 来衡量 - 大约 1 个中文字 ≈ 1-2 个 token,1 个英文单词 ≈ 1-1.5 个 token

1.3 Transformer 架构(极简白话版)

不需要懂公式,只要理解这三点:

1) 自注意力机制(Self-Attention) 白话:写作文时,当你写到"他"这个字,你的大脑会自动回头看看前面提到的是谁。Transformer 也是这样——每个词都会"回头看"前面所有词,判断哪些词跟自己关系密切。

2) 并行处理 白话:以前的模型(RNN)像排队过独木桥,一个词一个词处理。Transformer 像高速公路,所有词同时处理,所以训练快得多。

3) 层层叠加 白话:一层 Transformer 就像一次"思考"。GPT-4 有几十上百层,就像反复思考了几十遍,每一遍都比上一遍理解得更深。

一句话总结:Transformer = 一种让机器能"同时看完整段话,并且知道哪些词互相关联"的架构,2017年由 Google 提出,彻底改变了 NLP 领域。

1.4 预训练 vs 微调 vs RLHF

把训练 LLM 想象成培养一个人:

阶段 白话比方 做了什么
预训练(Pre-training) 小孩从出生到18岁,读了图书馆所有的书 用互联网文本学习语言规律,学会"接下一个词"
微调(Fine-tuning / SFT) 上大学选了专业,有老师带着做练习 用人工标注的高质量问答数据,教模型"怎么好好回答问题"
RLHF 毕业后进入社会,根据大家的反馈不断改进 人类打分反馈 → 训练奖励模型 → 强化学习让回答更符合人类偏好

面试关键词: - 预训练 = 自监督学习,无标签,规模巨大 - SFT = Supervised Fine-Tuning,有标签数据 - RLHF = Reinforcement Learning from Human Feedback - DPO = Direct Preference Optimization(RLHF 的简化版,2024年后流行)

1.5 上下文窗口(Context Window)

白话:上下文窗口就是模型的"短期记忆容量"。就像考试时允许你带一张小抄纸,纸越大能写的东西越多。

各模型对比(2025年): | 模型 | 上下文窗口 | 约等于 | |------|-----------|--------| | Claude 3.5 Sonnet | 200K tokens | 约 15 万字 / 一本小说 | | Claude Opus 4 | 200K tokens | 约 15 万字 | | GPT-4o | 128K tokens | 约 10 万字 | | GPT-o3 | 200K tokens | 约 15 万字 | | Gemini 2.5 Pro | 1M tokens | 约 75 万字 / 5本小说 | | Llama 3.1 405B | 128K tokens | 约 10 万字 | | DeepSeek-V3 | 128K tokens | 约 10 万字 |

对生信的意义:上下文越大,一次能放进去的代码/论文/数据就越多,回答越准。

1.6 温度(Temperature)和采样

白话:温度控制的是模型"有多随机"。

Temperature = 0:每次都选最确定的答案(适合写代码、做分析)
Temperature = 0.7:有一定创造性(适合写文案、头脑风暴)
Temperature = 1.0+:很随机、很发散(可能会胡说八道)

比方:想象你在餐厅点菜 - 温度=0:永远点你最爱的那道菜 - 温度=0.7:大概率选爱吃的,偶尔尝试新菜 - 温度=1.5:完全随机点,可能点到黑暗料理

其他采样参数: - top_p(核采样):只从概率最高的前 p% 的词里选 - top_k:只从概率最高的前 k 个词里选 - max_tokens:限制输出最多多少个 token


2. 2025-2026 主流模型对比

2.1 Claude(Anthropic)系列

模型 发布时间 定位 上下文 特点
Claude Opus 4 2025.5 旗舰级 200K 最强推理、编程、长文本分析
Claude Sonnet 4 2025.5 性能均衡 200K 性价比最高,日常首选
Claude 3.5 Sonnet 2024.10 上代主力 200K 编程能力极强,仍被广泛使用
Claude 3.5 Haiku 2024.10 轻量快速 200K 速度快、价格低

Claude 的优势: - 编程能力顶尖(有 Claude Code 工具链) - 回答安全性好,不容易输出有害内容 - 长文本处理稳定 - Artifacts 功能可直接生成可运行代码

2.2 GPT(OpenAI)系列

模型 发布时间 定位 上下文 特点
GPT-4o 2024.5 多模态主力 128K 文本+图片+音频,速度快
GPT-o3 2025.4 深度推理 200K 思维链推理,数学/编程强
GPT-o4-mini 2025.4 轻量推理 128K 便宜版推理模型
GPT-4.1 2025.4 编程强化 1M 指令遵循优秀,超长上下文

GPT 的优势: - 生态最成熟,第三方集成最多 - 多模态能力强(图片、语音) - 推理模型(o系列)在数学和编程特定题目上强

2.3 Gemini(Google)系列

模型 发布时间 定位 上下文 特点
Gemini 2.5 Pro 2025.3 旗舰 1M 上下文窗口最大,多模态强
Gemini 2.5 Flash 2025.3 快速高效 1M 性价比高,适合批量处理
Gemini 2.0 Flash 2024.12 上代快速 1M 免费 tier 慷慨

Gemini 的优势: - 上下文窗口最大(1M tokens) - 与 Google 生态深度整合 - 免费额度高,学生友好 - 多模态能力原生(视频理解等)

2.4 开源模型

模型 开发者 参数量 特点
Llama 3.1 Meta 8B/70B/405B 开源标杆,社区生态最大
Qwen 2.5 / Qwen3-Coder 阿里 0.5B-480B 中文能力极强,Qwen3-Coder-30B 可本地跑
DeepSeek-V3 / R1 深度求索 671B(MoE) 性价比极高,R1 推理能力强
Mistral Large 2 Mistral 123B 欧洲出品,多语言,开源
GLM-4.6 智谱 - 中文好,编程/Agent 能力强

开源模型优势: - 免费,可本地部署 - 数据隐私有保障 - 可以微调定制 - 适合生信场景(不想把敏感数据传到云端)

2.5 综合对比表

维度 Claude Opus 4 GPT-o3 Gemini 2.5 Pro DeepSeek-V3 Llama 3.1 405B
编程 ★★★★★ ★★★★☆ ★★★★☆ ★★★★☆ ★★★★☆
中文 ★★★★☆ ★★★★☆ ★★★★☆ ★★★★★ ★★★☆☆
推理 ★★★★★ ★★★★★ ★★★★☆ ★★★★☆ ★★★★☆
长文本 ★★★★☆ ★★★★☆ ★★★★★ ★★★★☆ ★★★★☆
上下文 200K 200K 1M 128K 128K
价格 免费(本地)
本地部署 不可 不可 不可 可(需多卡)
API 调用
适合场景 复杂编程/分析 数学推理 长文档处理 日常编程/中文 本地隐私场景

API 价格参考(2025年,每百万 token)

模型 输入价格 输出价格
Claude Opus 4 $15 $75
Claude Sonnet 4 $3 $15
GPT-4o $2.5 $10
GPT-o3 $10 $40
Gemini 2.5 Pro $1.25-2.5 $10-15
DeepSeek-V3 $0.27 $1.10

3. 怎么使用 LLM

3.1 API 调用(Python 示例)

方式一:调用 OpenAI API

# pip install openai
from openai import OpenAI

# 初始化客户端
client = OpenAI(api_key="sk-你的密钥")  # 从 platform.openai.com 获取

# 发送请求
response = client.chat.completions.create(
    model="gpt-4o",                    # 模型名
    messages=[
        {"role": "system", "content": "你是一个生物信息学助手"},
        {"role": "user", "content": "解释什么是 FASTQ 文件格式"}
    ],
    temperature=0.3,                   # 低温度 = 更确定的回答
    max_tokens=1000                    # 最多输出 1000 个 token
)

# 获取回复
answer = response.choices[0].message.content
print(answer)

方式二:调用 Anthropic Claude API

# pip install anthropic
import anthropic

# 初始化客户端
client = anthropic.Anthropic(api_key="sk-ant-你的密钥")

# 发送请求
message = client.messages.create(
    model="claude-sonnet-4-20250514",  # 模型名
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "用白话解释宏基因组分析的步骤"}
    ]
)

# 获取回复
print(message.content[0].text)

方式三:调用 DeepSeek API(国内可用,便宜)

# DeepSeek 兼容 OpenAI 格式,所以直接用 openai 库
from openai import OpenAI

client = OpenAI(
    api_key="sk-你的密钥",
    base_url="https://api.deepseek.com"  # 改一下 base_url 就行
)

response = client.chat.completions.create(
    model="deepseek-chat",
    messages=[
        {"role": "user", "content": "写一个用 Python 计算 Shannon 多样性指数的函数"}
    ]
)

print(response.choices[0].message.content)

方式四:调用 Gemini API(免费额度高)

# pip install google-genai
from google import genai

client = genai.Client(api_key="你的密钥")  # 从 aistudio.google.com 获取

response = client.models.generate_content(
    model="gemini-2.5-flash",
    contents="帮我写一个 Snakemake 宏基因组分析流程"
)

print(response.text)

3.2 本地部署(Ollama)

Ollama 是最简单的本地 LLM 部署工具,一行命令就能跑。

# 安装 Ollama(Linux/Mac)
curl -fsSL https://ollama.com/install.sh | sh

# 下载并运行模型(首次会自动下载)
ollama run llama3.1        # Meta 的 Llama 3.1 8B(需要 8GB 内存)
ollama run qwen2.5:14b     # 阿里的 Qwen 2.5 14B(需要 16GB 内存)
ollama run deepseek-r1:8b  # DeepSeek 推理模型小版

# 用 API 方式调用本地模型(兼容 OpenAI 格式)
curl http://localhost:11434/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "llama3.1",
    "messages": [{"role": "user", "content": "什么是 OTU?"}]
  }'

Python 调用本地 Ollama

from openai import OpenAI

# 本地调用,无需 API key
client = OpenAI(
    base_url="http://localhost:11434/v1",
    api_key="ollama"  # 随便填
)

response = client.chat.completions.create(
    model="qwen2.5:14b",
    messages=[{"role": "user", "content": "解释 MetaPhlAn 的工作原理"}]
)

print(response.choices[0].message.content)

Ollama 硬件需求: | 模型大小 | 内存需求 | 适合 | |---------|---------|------| | 7-8B | 8GB RAM | 日常问答、简单编程 | | 14B | 16GB RAM | 较好的编程/中文 | | 32-70B | 32-64GB RAM | 接近闭源模型水平 |

3.3 AI 编程助手

Claude Code / OpenCode

# 安装 Claude Code(需要 Node.js)
npm install -g @anthropic-ai/claude-code

# 在项目目录启动
claude

# 或者使用 OpenCode(开源替代)
# https://github.com/anomalyco/opencode

日常用法: - 直接在终端跟 AI 对话,它能读写你的代码文件 - 让它帮你写脚本、调试、重构 - 适合生信流程开发(写 Snakemake、Shell 脚本等)

Cursor(AI IDE)

  • 基于 VS Code 的 AI 编辑器
  • 支持多种模型(Claude/GPT/本地)
  • Tab 自动补全 + 聊天窗口
  • 适合日常写代码

使用建议

场景 推荐工具
写生信流程脚本 Claude Code / OpenCode
日常 Python 编程 Cursor + Claude
处理敏感数据 Ollama 本地模型
快速问答 Claude Web / ChatGPT
论文阅读辅助 Gemini(长上下文)

4. LLM 的局限性

4.1 幻觉(Hallucination)

白话:模型有时候会一本正经地胡说八道,编造看起来很像真的但实际不存在的信息。

例子: - 编造不存在的论文引用(DOI 看起来很真) - 编造不存在的 Python 包或函数名 - 瞎说某个生信工具有某个参数

应对方法: - 关键信息一定要去官方文档/PubMed 验证 - 代码一定要跑一遍看能不能运行 - 让模型加上 "如果不确定请说不确定"

4.2 知识截止(Knowledge Cutoff)

白话:模型只知道训练数据截止日期之前的信息,之后的事它不知道。

各模型知识截止: | 模型 | 训练数据截至 | |------|-------------| | Claude Opus 4 | 2025年初 | | GPT-4o | 2024年中 | | Gemini 2.5 Pro | 2025年初 |

应对:用带联网搜索功能的工具(如 Perplexity、带搜索的 Claude)

4.3 推理能力局限

白话:LLM 擅长"模式匹配"而非"真正逻辑推理"。

  • 多步数学推理容易出错
  • 复杂逻辑链条会断裂
  • "看起来对但仔细一想不对"的情况

缓解方法: - 使用推理模型(o3、DeepSeek-R1) - 要求模型"一步一步思考"(Chain of Thought) - 把复杂问题拆成小问题

4.4 其他局限

  • 无法执行代码:模型只会"生成"代码,不会真的运行(除非有工具支持)
  • 上下文有限:超出窗口的内容会被"遗忘"
  • 一致性问题:同样的问题问两次可能得到不同答案
  • 安全风险:可能泄露训练数据中的隐私信息

5. 和生信的关系

5.1 用 LLM 辅助编程

最常见的场景

# 场景1:让 AI 帮你写宏基因组分析脚本
"""
提示词:用 Python 写一个脚本,读取 MetaPhlAn 的物种丰度表,
计算 Shannon 多样性指数和 Simpson 多样性指数,
输出每个样本的多样性值到 CSV 文件
"""

# 场景2:让 AI 帮你调试 Snakemake 报错
"""
提示词:我的 Snakemake 流程报错如下:
[报错信息]
请帮我分析原因并修复
"""

# 场景3:让 AI 解释别人的代码
"""
提示词:请逐行解释以下 R 代码的功能:
[粘贴代码]
"""

5.2 论文阅读辅助

# 好用的提示词模板

"请用中文总结这篇论文的:
1. 研究目的
2. 方法(用了什么数据/工具)
3. 主要结果
4. 局限性
5. 对我的宏基因组研究有什么参考价值"

"请解释这段 Methods 里的统计方法:[粘贴原文]"

"这篇论文和 [XX论文] 的方法有什么区别?"

5.3 代码审查(Code Review)

# 让 AI 审查你的代码

"请审查以下 Python 代码,检查:
1. 是否有 bug
2. 是否有性能问题
3. 代码风格是否规范
4. 建议改进的地方

[粘贴你的代码]"

5.4 生信特定场景总结

场景 怎么用 LLM 注意事项
写分析脚本 描述需求让 AI 生成 一定要测试能不能跑
调参数 问"bowtie2 -k 参数是什么意思" 要对照官方手册
画图 "用 matplotlib 画热图" 检查坐标轴/图例对不对
读文献 上传 PDF 让 AI 总结 引用要回原文核实
写方法学 让 AI 帮你理顺 Methods 段落 自己必须理解原理
统计分析 问"什么时候用 Wilcoxon 而不是 t-test" 要理解前提假设

6. 面试怎么答

Q1: 请简单介绍一下什么是大语言模型?

参考回答

大语言模型是基于 Transformer 架构、用海量文本数据训练的深度学习模型。它的核心能力是通过学习语言中的统计规律,根据上下文预测下一个词。训练过程分三步:预训练学习通用语言知识,SFT 微调学习任务格式,RLHF 对齐人类偏好。目前主流的有 Claude、GPT、Gemini 等闭源模型,以及 Llama、Qwen、DeepSeek 等开源模型。

Q2: 你在日常工作/学习中怎么使用 AI 工具的?

参考回答

我日常使用 Claude Code 作为编程助手。具体来说: 1. 写生信分析脚本时,先描述需求让 AI 生成初稿,然后我审查修改 2. 遇到报错时,把错误信息粘贴给 AI 分析原因 3. 阅读英文文献时,让 AI 帮我翻译和总结关键方法 4. 学习新工具时,让 AI 解释参数含义和使用示例

但我始终把 AI 当作辅助工具,关键的分析逻辑和结果解读是我自己完成的,而且 AI 生成的代码我一定会测试验证。

Q3: LLM 有什么局限性?在生信分析中应该怎么避免?

参考回答

主要局限性有三个: 1. 幻觉:可能编造不存在的函数或参数。我的做法是所有代码必须实际运行测试,关键参数对照官方文档。 2. 知识过时:模型不知道最新的软件版本更新。我会查看工具的 GitHub Release 和 ChangeLog。 3. 推理局限:复杂的统计分析逻辑可能出错。我会把大问题拆成小步骤,逐步验证每一步是否正确。

总的原则是:AI 负责加速,人负责质控。

Q4: 你了解 Prompt Engineering(提示工程)吗?

参考回答

Prompt Engineering 就是通过设计输入提示来引导模型输出更好结果的技巧。常用方法包括: 1. 角色设定:如"你是一个有10年经验的生物信息学家" 2. Few-shot 示例:给几个输入-输出的例子 3. Chain of Thought:要求"一步一步思考" 4. 格式约束:指定输出格式如 JSON、Markdown 表格 5. 分步拆解:复杂任务拆成多个小 prompt

在生信工作中,我常用"给出你的推理过程"来确保模型的分析逻辑是对的。

Q5: 如果让你在项目中集成 LLM API,你会怎么做?

参考回答

  1. 选模型:根据场景选择——如果需要编程辅助用 Claude,需要长文本处理用 Gemini,追求便宜用 DeepSeek
  2. API 集成:用 Python 的 openai/anthropic 库调用,设置合理的 temperature 和 max_tokens
  3. 错误处理:处理网络超时、token 超限、速率限制等异常
  4. 成本控制:设置每日调用上限,用缓存避免重复请求
  5. 安全考虑:敏感数据不能直接传给 API,必要时用本地模型(如 Ollama + Qwen)
  6. 评估效果:设计 benchmark 评估模型输出质量

Q6: 解释一下 RAG 是什么?有什么应用?

参考回答

RAG(Retrieval-Augmented Generation)是检索增强生成。原理是:先从外部知识库检索相关文档,然后把检索到的内容和用户问题一起送给 LLM 生成回答。

好处是解决了 LLM 知识过时和幻觉的问题——让模型基于真实文档回答,而非凭记忆。

在生信中的应用:比如构建一个"文献助手",把实验室相关的几百篇论文向量化存入数据库,然后问"我们实验室之前做的肠道菌群分析用了什么统计方法?",系统就能检索到相关论文段落并给出准确回答。

Q7: 开源模型和闭源模型怎么选?

参考回答

看三个因素: 1. 数据隐私:如果涉及患者数据或未发表结果,用开源本地模型(Ollama + Llama/Qwen) 2. 性能需求:如果需要最好的编程/推理能力,用闭源模型(Claude/GPT) 3. 成本预算:学生经费有限可以用 DeepSeek API(便宜)或免费的 Gemini

我的做法是混合使用:日常编程用 Claude Code,处理敏感数据用本地 Qwen,快速问答用免费的 Gemini。


7. 延伸阅读

入门级

进阶级

  • 论文:Attention Is All You Need(Transformer 原始论文,2017)
  • 论文:Language Models are Few-Shot Learners(GPT-3,2020)
  • Hugging Face 文档 - 开源模型平台
  • LangChain 文档 - LLM 应用开发框架

实用工具

生信 + AI 相关

  • BioGPT - 微软的生物医学 LLM
  • Galactica - Meta 的科学论文 LLM
  • scGPT - 单细胞 RNA-seq 的基础模型

小结

你需要知道的 关键词
LLM 是什么 自回归语言模型、预测下一个 token
为什么能力强 海量数据 + Transformer + RLHF
怎么用 API 调用 / Ollama 本地 / 编程助手
局限性 幻觉、知识截止、推理弱
生信怎么用 写代码、调试、读文献、数据分析辅助
选模型原则 隐私→本地、质量→闭源、省钱→DeepSeek

最后更新:2025年5月 适用对象:生信方向应届生,基础薄弱但日常使用 AI 工具