跳转至

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 42025.5旗舰级200K最强推理、编程、长文本分析
Claude Sonnet 42025.5性能均衡200K性价比最高,日常首选
Claude 3.5 Sonnet2024.10上代主力200K编程能力极强,仍被广泛使用
Claude 3.5 Haiku2024.10轻量快速200K速度快、价格低

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

2.2 GPT(OpenAI)系列

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

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

2.3 Gemini(Google)系列

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

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

2.4 开源模型

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

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

2.5 综合对比表

维度Claude Opus 4GPT-o3Gemini 2.5 ProDeepSeek-V3Llama 3.1 405B
编程★★★★★★★★★☆★★★★☆★★★★☆★★★★☆
中文★★★★☆★★★★☆★★★★☆★★★★★★★★☆☆
推理★★★★★★★★★★★★★★☆★★★★☆★★★★☆
长文本★★★★☆★★★★☆★★★★★★★★★☆★★★★☆
上下文200K200K1M128K128K
价格免费(本地)
本地部署不可不可不可可(需多卡)
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 qwen3:14b       # 阿里的 Qwen3 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="qwen3: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 工具