Eugene Yan:如何撰写数据标注指南
Eugene Yan 总结撰写数据标注指南的方法,提出好指南应回答 Why、What、How 三层问题:任务为何重要、任务是什么、术语如何定义、标注员如何决策、任务如何执行。文章引用 Google 和 Bing Search 的指南实例,包括查询意图分类、页面质量评估因素、匹配质量决策树和标注示例讲解,并建议用 Cohen's kappa 衡量标注员之间的一致性来迭代改进指南。
Eugene Yan 总结撰写数据标注指南的方法,提出好指南应回答 Why、What、How 三层问题:任务为何重要、任务是什么、术语如何定义、标注员如何决策、任务如何执行。文章引用 Google 和 Bing Search 的指南实例,包括查询意图分类、页面质量评估因素、匹配质量决策树和标注示例讲解,并建议用 Cohen's kappa 衡量标注员之间的一致性来迭代改进指南。
Eugene Yan 用 LangChain 结合 gpt-3.5-turbo、gpt-4、text-embedding-ada-002、Pinecone 和 Google 搜索 API,在 Discord 上搭出 /summarize、/sql、/search、/board 等助手。
Baseten Base Labs 发布 VoxCPM2 语音缓存演示客户端,通过 /v1/audio/speech 接口验证参考音频复用。首次请求发送 voice 名称加 ref_audio,服务端将其存为已上传语音并预热 ref_audio_feat 缓存;后续请求仅传同一 voice 名称即可命中缓存。客户端支持 wav、pcm、flac、mp3、aac、opus 格式及流式输出。
Eugene Yan 用 Raspberry Pico 加电子墨水屏做了个 Raspberry-LLM,调用 WSJ 和 HackerNews 的 RSS 源与第三方 LLM API 生成内容,能押韵报时、用 Dr. Seuss 风格解读新闻标题、编造名人假引语,还能模仿 HackerNews 喷子留言。
Eugene Yan 总结九个机器学习系统设计模式,包括原始数据只处理一次、Human-In-The-Loop 标注、数据增强、难负例挖掘、问题重构、级联、数据飞轮、业务规则层和上线前评估。每条模式给出优缺点并结合 Meta、DoorDash、Twitter、Stack Exchange、ChatGPT 等案例,并探讨这些模式在 LLM 系统中的适用性。
Baseten 发布 Orpheus 3B 的 WebSocket 接入示例:客户端先发送含 voice、max_tokens、buffer_size 的 JSON 元数据,再通过同一连接逐词流式发送文本,服务端返回原始音频字节。示例用 `__END__` 哨兵标记文本结束,音频以 24000 采样率、paInt16、单声道播放,代码基于 aiohttp 与 pyaudio。
Eugene Yan 整理了一份可商用许可的开源 LLM 清单,起因是他想微调一个带商用许可的 LLM 以规避使用第三方 LLM 的法律与隐私问题。清单涵盖面向代码微调的模型,发布两天内社区提交了八个 PR,新增了上下文长度列并纠正了一个实际不具备商用许可的模型。
文章用图书馆检索的类比解释 Attention 中的 query、key、value 向量:query 与各 key 做点积衡量相关性,经 softmax 归一化后对 value 加权求和。相比把整句压进固定向量的 encoder-decoder 循环模型,Attention 让解码器每步都能看到整个输入句,缓解信息瓶颈与长距离依赖,并支持并行计算。多头机制则让模型同时关注多个词。
Eugene Yan 发布 Obsidian-Copilot 原型,给定章节标题时通过 RAG 起草段落,并能对每日日记做一周复盘与下周规划,代码开源于 GitHub。
Eugene Yan 总结了将大语言模型集成到系统与产品中的七大实用模式:Evals、RAG、微调、缓存、Guardrails、防御性 UX 和收集用户反馈,按提升性能与降低成本/风险、靠近数据与靠近用户两个维度组织。
Eugene Yan 撰文讲解如何把 LLM 应用中的常见问题匹配到对应的解决模式。文章先区分外部与内部 LLM 的差异,再按问题逐一给出建议:用 evals 和用户反馈衡量性能,用 RAG 减少幻觉,用微调提升内部模型在特定任务的表现,用缓存应对延迟要求,用 guardrails 处理语法与语义错误,用防御式 UX 降低错误影响,并用监控追踪用户影响。
Eugene Yan 撰文梳理抽象式摘要评估的四个维度(流畅、连贯、相关、一致),并分四类讲解指标:基于参考的 ROUGE、METEOR、BERTScore、MoverScore。
在 Factual Inconsistency Benchmark(FIB)上,先用 Wikipedia 摘要微调 3 个 epoch 再在 FIB 上微调 10 个 epoch,PR AUC 达 0.85,比仅在 FIB 上微调提升 23%。
推送通知可视为一种推荐系统,但与搜索和站内推荐不同,推送场景下用户意图并不明确,只能依据事件、促销或位置等触发条件猜测。Alibaba 发现,推荐互补商品(而非替代品)并说明推荐理由的个性化推送能提升打开率;DPG Media 则建议向用户解释收到通知的原因。推送还受时效性、单条只能突出一个商品、每日或每周推送上限等约束,过度优化即时反馈会损害用户长期满意度,甚至导致用户关闭通知或卸载应用。
Eugene Yan 与朋友组建了每周一次的语言建模论文俱乐部,并整理出约一年阅读量的论文清单,每篇附一句话总结,涵盖 Transformer、GPT 系列、BERT、T5、Scaling Laws、Chinchilla、LoRA、RAG、RLHF/DPO 等主题。清单支持通过 PR 或 issue 提交补充建议,作者还附上了论文阅读方法的指引。
Eugene Yan 发表长文,系统讲解如何生成和使用合成数据进行预训练、指令微调与偏好微调。文章将方法分为从更强模型蒸馏(如 Unnatural Instructions。
机器学习代码与普通软件不同:软件是输入数据加人工逻辑得到输出,ML 则是用输入数据和期望输出学出逻辑,因此测试时往往需要加载真实模型做推理,而非 mock。作者建议用小型内联样本数据、在可行时用随机或空权重测试输出形状与设备迁移,并把损失下降、过拟合、模型服务启动等关键测试标记为 slow 按需运行,同时不必测试数据加载器、tokenizer、优化器等外部库。
Eugene Yan 撰文总结任务特定的 LLM 评测方法,指出通用评测常与实际应用表现相关性弱。文章给出分类用 recall、precision、ROC-AUC。
Eugene Yan 用 Vapi 语音 API 搭配 claude-3-sonnet 搭建了一个可通话的 AI 教练 Tara,用于散步时倾诉焦虑、梳理情绪和演练困难对话。
Eugene Yan 发布提示词工程基础教程,核心观点是把提示词视为对概率模型的条件化,并给出评估先行的工作流。文章用 Claude Messages API 演示角色设定、XML 结构化输入输出、Prefill、n-shot 提示、改进 CoT、拆分多步提示、stop sequence 和 temperature 选择等技巧,并指出礼貌用语和小费威胁等做法对近期模型效果影响不大。
Eugene Yan 与 Jason 分享招聘 ML/AI 工程师的方法,把面试当作评估系统,主张可靠、有效、低噪声。
Eugene Yan 发布长文,基于约二十篇论文系统讲解如何应用和评估 LLM-as-Judge(LLM 评估器)。
作者用 FastAPI、FastHTML、Next.js 和 SvelteKit 分别构建了同一个名为 "Look at Your Data" 的 CSV 增删改查应用,以比较各框架的开发体验。
Eugene Yan 从 2019 Intel MacBook Pro 换到 M4 MacBook Pro,不恢复备份而是从头搭建环境,并发布了自己的极简 Mac 配置指南。
Eugene Yan 总结 Latent Space Paper Club 连续 18 个月、至少 80 篇论文的每周读书会经验,内容覆盖 Attention、LoRA/QLoRA、Transformer 系列、RLHF、推理加速与 RAG 等主题。
Eugene Yan 发布 AI Reading Club(AiReadingClub.com)的构建复盘,核心是 AI 阅读伴侣 Dewey,支持理解所选上下文、答疑、生成测验、回顾全书进度、书内查找和回看历史讨论。
工业搜索与推荐系统正引入 LLM 与多模态架构来缓解冷启动和长尾问题。YouTube 用 RQ-VAE 将 VideoBERT 内容嵌入压缩为 Semantic IDs。
Eugene Yan 发布 FAQ 汇总其写作流程的常见问题,包括如何起步、为何写作、为谁写作、如何选题、选平台、写作流水线、更新频率与克服完美主义。他因多位资深数据科学家指出沟通能力才是高效数据科学家的关键差异,而开始坚持写作,并称写作帮助自己强化学习、理清思路、结识同行并加速职业成长。
Eugene Yan 指出,指望再加一个工具、指标或 LLM-as-Judge 来解决产品问题,只会绕开核心难题、回避真正的工作。产品评估不是静态产物或速效药,而是把科学方法、评估驱动开发(EDD)和 AI 输出监控落到实处的实践:从观察数据、标注成败样本(理想为 50:50 的通过/失败分布)开始,再提出假设、设计实验、量化结果并迭代。
Eugene Yan 发布 news-agents 项目,基于 Amazon Q CLI 和 MCP 生成每日新闻摘要。主智能体将 Hacker News、WSJ、TechCrunch、AI News、Wired 六个 RSS 源分成三组,在独立 tmux 窗格中生成三个子智能体并行处理并分类汇总,最终合并为 main-summary.md。
Karpathy 从零用 JavaScript 实现 t-SNE 并以 tsnejs 发布在 GitHub,构建了按推文内容对 Twitter 前 500 大账号做二维聚类的 demo。流程包括用 Kimono 抓取账号列表、Tweepy 采集每人 200 条推文、TfidfVectorizer 生成 500 x 87,342 维语言指纹,再用 d3js 渲染结果,并另附词向量可视化 demo。
Karpathy 通过实验说明,用不可察觉的扰动即可让模型把图像分类为任意类别,这一缺陷并非深度学习独有,而是源于线性函数。
Andrej Karpathy 发文讲解 RNN/LSTM 的原理与应用,并同步在 Github 发布基于多层 LSTM 的字符级语言模型代码 char-rnn(MIT 协议)。
Andrej Karpathy 抓取约 500 万张带 #selfie 标签的图片并筛选出 200 万张含人脸的自拍,按点赞数与粉丝数归一化后标注好坏,用 Caffe 微调 ImageNet 预训练的 VGGNet,模型达 60% 验证准确率。
Andrej Karpathy 发布长文讲解强化学习,用 130 行 Python 仅依赖 numpy 的脚本,以 Policy Gradients 从原始像素训练出能在 ATARI Pong 中略胜内置 AI 的 2 层策略网络,约 8000 个 episode、20 万局游戏、800 次参数更新。
Cloudflare 用前沿 LLM 构建自适应 WAF 测试系统,在授权的客户预发环境针对 XSS、SQLi、CMDi、SSRF、LFI、Log4j 六类攻击运行 45 个场景,记录 1,107 次尝试,经人工分流确认 49 项相关发现,其中 48 项属于 CMDi 和 SSRF。
Cloudflare 介绍内部 AI 工具 CryptoLabe,用于发现代码库中的密码学使用并规划后量子(PQ)迁移,目标 2029 年实现全面 PQ 就绪。
Anthropic 提出 Contextual Retrieval 方法,在嵌入前为每个文本块前置上下文说明,结合 Contextual Embeddings 与 Contextual BM25 将 top-20 检索失败率降低 49%(5.7%→2.9%),叠加 reranking 后降低 67%(5.7%→1.9%)。
Anthropic 基于与数十个团队合作的经验发布构建高效 Agent 的工程指南,主张用简单、可组合的模式而非复杂框架,并区分了工作流与 Agent 两类系统。文章给出增强 LLM 这一基础构件,以及提示链、路由、并行化、编排者-工作者、评估者-优化者五种工作流模式,并建议仅在简单方案失效时增加复杂度;附录还讲解了工具提示词工程与 Agent-计算机接口(ACI)设计实践。
推荐理由:Anthropic 基于大量客户实践总结了构建智能体的可组合模式与工具设计方法,开发者可直接对照自己的场景选用。
Anthropic 的升级版 Claude 3.5 Sonnet 在 SWE-bench Verified 上取得 49%,超过此前 SOTA 的 45%,模型本身未变而成绩来自围绕模型的 agent 脚手架。