File size: 8,736 Bytes
71245aa
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
[
  {
    "category": "基础概念",
    "q": "什么是向量化(embedding)?",
    "a": "把文字(或图片、音频)转换成一串数字(向量)的过程。意思相近的文本,向量也相近。这是 AI 理解语义的基础。例如 'all-MiniLM' 把句子变成 384 维的数字向量。"
  },
  {
    "category": "基础概念",
    "q": "什么是 NLP?",
    "a": "Natural Language Processing,自然语言处理。让计算机理解、生成人类语言的技术。包括分类、翻译、问答、生成等任务。"
  },
  {
    "category": "基础概念",
    "q": "什么是预训练模型?",
    "a": "在海量数据上提前训练好的模型,学到了通用的语言规律。直接拿来用或在小数据集上微调即可,省去从零训练的巨大成本。HuggingFace 上的模型大多是预训练的。"
  },
  {
    "category": "基础概念",
    "q": "什么是 RAG?",
    "a": "Retrieval-Augmented Generation,检索增强生成。让 LLM 在回答前先从知识库检索相关资料,再基于资料生成答案。能解决 LLM 幻觉、知识过期等问题,是当前 AI 落地最主流的方案。"
  },
  {
    "category": "基础概念",
    "q": "什么是 Transformer 模型?",
    "a": "2017 年 Google 论文《Attention is All You Need》提出的神经网络架构。基于自注意力机制,是 BERT、GPT、Llama 等几乎所有现代大模型的基础。"
  },

  {
    "category": "HuggingFace 平台",
    "q": "HuggingFace 是什么?",
    "a": "AI 领域的 GitHub。提供模型托管、数据集分享、应用部署(Spaces)等服务。截至 2025 年有 280 万+ 模型,是开源 AI 最大的社区。"
  },
  {
    "category": "HuggingFace 平台",
    "q": "怎么在 HuggingFace 找适合的模型?",
    "a": "1) 在 huggingface.co/models 按 task 筛选;2) 看 downloads 和 likes 排序;3) 看模型卡片的 benchmark;4) 注意语言支持和大小。中文优先看 BAAI、Qwen、uer 等团队。"
  },
  {
    "category": "HuggingFace 平台",
    "q": "HuggingFace Space 是什么?",
    "a": "托管 AI 应用的免费平台。支持 Gradio、Streamlit、Docker 等 SDK。push 代码到 git 仓库即自动部署,自带 HTTPS 和域名(xxx.hf.space)。免费版给 16GB 内存、2 核 CPU。"
  },
  {
    "category": "HuggingFace 平台",
    "q": "模型许可证怎么看?",
    "a": "在模型页右侧能看到 license 标签。Apache 2.0 / MIT 可商用;CC-BY-NC 仅限非商业;Llama 等大模型有自己的许可需要单独看条款。商用务必先看清楚。"
  },
  {
    "category": "HuggingFace 平台",
    "q": "怎么从 HuggingFace 下载模型?",
    "a": "通常不需要手动下载。代码里 from_pretrained('模型名') 会自动下载并缓存到 ~/.cache/huggingface。也可以用 git lfs clone 整个仓库到本地。"
  },

  {
    "category": "模型选型",
    "q": "中文向量化用什么模型?",
    "a": "推荐 BAAI/bge-small-zh-v1.5(95MB,中文专门优化)。多语言场景用 BAAI/bge-m3。英文为主用 all-MiniLM-L6-v2。"
  },
  {
    "category": "模型选型",
    "q": "英文向量化用什么模型?",
    "a": "推荐 sentence-transformers/all-MiniLM-L6-v2(90MB,速度快)。需要更高质量用 BAAI/bge-base-en-v1.5。下载量最高的是 all-MiniLM-L6-v2。"
  },
  {
    "category": "模型选型",
    "q": "BERT 和 GPT 有什么区别?",
    "a": "BERT 是 Encoder(双向,看全文),适合理解任务(分类、检索);GPT 是 Decoder(单向,从左到右),适合生成任务(写作、对话)。现代 LLM 多是 Decoder-only 架构。"
  },
  {
    "category": "模型选型",
    "q": "DistilBERT 是什么?",
    "a": "BERT 的蒸馏版(小学生抄大模型)。参数量减半(67M vs 110M),速度快 60%,但准确率只降 3%。入门和资源受限场景的好选择。"
  },
  {
    "category": "模型选型",
    "q": "什么时候用零样本分类?",
    "a": "当你的分类标签会变化、或没有标注数据训练时。零样本模型(如 xlm-roberta-large-xnli)能根据你描述的标签直接分类,无需重新训练。代价是慢一点、有时不准。"
  },

  {
    "category": "框架使用",
    "q": "sentence-transformers 和 transformers 有什么区别?",
    "a": "都是 HuggingFace 生态。transformers 是底层库,能做所有 NLP 任务。sentence-transformers 专做嵌入/相似度,封装了池化和 cos_sim,更易用。要嵌入用前者,其他任务用后者。"
  },
  {
    "category": "框架使用",
    "q": "pipeline() 是什么?",
    "a": "transformers 库的傻瓜相机。一行代码加载模型并完成 tokenize+推理+后处理。例:pipeline('sentiment-analysis')('I love it') 直接出结果。入门首选,生产慎用。"
  },
  {
    "category": "框架使用",
    "q": "怎么用 pipeline 做情感分析?",
    "a": "三行代码:from transformers import pipeline; clf = pipeline('sentiment-analysis'); clf('I love it')。会返回 [{'label': 'POSITIVE', 'score': 0.99}]。"
  },
  {
    "category": "框架使用",
    "q": "怎么用 GPU 加速推理?",
    "a": "pipeline 加 device=0 参数(0 表示第 0 块 GPU)。原生 model 用 model.to('cuda')。同时数据 inputs.to('cuda')。批量推理(batch_size>1)能进一步加速。"
  },
  {
    "category": "框架使用",
    "q": "什么是 Tokenizer?",
    "a": "把文字拆成 token(子词单元)的工具。例如 'hello' 可能被拆成 ['hel', 'lo']。每个 token 对应一个 ID,模型输入的是 ID 序列。每个模型有自己专属的 tokenizer。"
  },

  {
    "category": "实战技能",
    "q": "怎么计算两句话的相似度?",
    "a": "1) 用 embedding 模型把两句话转成向量;2) 算余弦相似度(cosine similarity);3) 范围 -1 到 1,越接近 1 越相似。代码:util.cos_sim(emb1, emb2)。"
  },
  {
    "category": "实战技能",
    "q": "什么是 cosine similarity(余弦相似度)?",
    "a": "衡量两个向量方向是否一致的指标。取值 -1 到 1:1 = 完全一致,0 = 无关,-1 = 相反。在 embedding 比较中是事实标准,比欧几里得距离更稳定。"
  },
  {
    "category": "实战技能",
    "q": "什么是 temperature 参数?",
    "a": "控制 LLM 生成的'创造力'。低温度(0.3)保守、容易重复;中温度(0.7-0.9)自然平衡;高温度(1.5)狂野、容易幻觉。生产环境推荐 0.7-0.9。"
  },
  {
    "category": "实战技能",
    "q": "为什么 GPT-2 会重复?",
    "a": "低 temperature 时模型总选最高概率词,容易陷入循环。解决:1) 提高 temperature;2) 用 repetition_penalty=1.2;3) 用 top_k 或 top_p 采样;4) 换更新的模型(GPT-2 是 2019 年的)。"
  },
  {
    "category": "实战技能",
    "q": "怎么避免 LLM 幻觉?",
    "a": "1) 用 RAG 提供真实资料;2) 降低 temperature;3) 在 prompt 里要求引用来源;4) 检索 + 生成 + 校验三步走;5) 关键场景做事实核查。完全消除是不可能的。"
  },

  {
    "category": "部署应用",
    "q": "FAQ 机器人怎么做?",
    "a": "1) 准备 FAQ 数据;2) 用 embedding 模型把问题向量化;3) 用户提问时算与 FAQ 的相似度;4) 返回最相似那条的答案;5) 设阈值兜底转人工。这就是检索式 FAQ 的核心。"
  },
  {
    "category": "部署应用",
    "q": "什么时候需要接 LLM?",
    "a": "需要:1) 改写答案让语气更自然;2) 综合多条信息;3) 多轮对话上下文;4) 处理库外问题。不需要:标准化 FAQ、合规答复(必须原文)、对延迟敏感的场景。"
  },
  {
    "category": "部署应用",
    "q": "怎么部署 AI 应用?",
    "a": "MVP 阶段:HuggingFace Space + Gradio(最快)。中等规模:FastAPI + Docker + 云服务器。大规模:Kubernetes + GPU 集群 + 向量数据库。先简单后复杂,别提前优化。"
  },
  {
    "category": "部署应用",
    "q": "训练数据从哪里来?",
    "a": "1) 网页爬取(Common Crawl);2) 维基百科;3) 书籍;4) 社区(Reddit、知乎);5) 专门数据集(电商评论等)。模型训练数据决定能力上限,但你做应用时关心的是'应用数据',要从客服记录、文档、知识库等业务源头收集。"
  },
  {
    "category": "部署应用",
    "q": "Gradio 是什么?",
    "a": "HuggingFace 出的 Python 库,几行代码生成 AI 应用的 web 界面。和 Spaces 完美集成,是 HF 生态部署 demo 的首选。例:gr.Interface(fn=my_func, inputs='text', outputs='text').launch()。"
  }
]