即刻App年轻人的同好社区
下载
App内打开
yujiachen
145关注132被关注0夸夸
关注 SaaS、产品设计。
比起结果,我更喜欢体验和过程。
某 SaaS 后端工程师,曾任职 Airbnb,也有过一段旷视的算法实习经历。
yujiachen
6天前
今天的一个迷思:提效方法适合做成 SaaS 工具还是公司?🤔

提效指的是用先进生产力,例如信息化流程化或 AI 辅助,来改造现有的生产流程。

首先这个问题很泛泛而谈,本质上所有的创新都是提效,我对提效的第一印象是各类 SaaS 工具,帮助我们愉快地完成任务,享受工作之余的宝贵时光。

细想一下,貌似并非如此,提效对个人的收益小,市场空间也小,但如果对平台做效率提升,收益会很大。

比如说,提高司机效率的工具,其实是网约车平台提供的,一边把司机困在系统里,一边做优化系统,最终榨取出了比单体更高的利润。

我们在追求效率的同时,是否也在无形中推动了某种形式的剥削?😨
00
yujiachen
7天前
尝试给自己做了一个记日记的 GPTs,简单写了一下 prompt,有 3 个指令:
- 检查。
- 总结。
- 保存到 @flomo浮墨笔记

十几分钟就弄完了,之后打算慢慢调整 prompt,以及能否在 mac 上跑 LLM 做搭配 RAG 做这件事。
希望之后每天拿着手机,对着 ChatGPT 唠嗑就能完成记日记~
00
yujiachen
7天前
所以一直搞不清楚加班那么久的意义是啥,都在摸鱼😂

SUKIII: 大厂给人的浑水摸鱼的空间真的太大了,应该严查(加班使人发疯 🙃

00
yujiachen
9天前
晚饭前后突然 panic attack,因为悬而未决的某事。瞬间脑海充满事情的细节,只能机械性地刷手机转移注意力。

在恢复过程中想到以往我会用力解决问题,消除焦虑的条件自然就好了。

可转念一想还没有好好地和焦虑相处过,快速抽身反而没有仔细感受。才不要马上行动让动作变形呢!瞬间突然变得开心☺️
00
yujiachen
13天前
公众号文章:mp.weixin.qq.com

yujiachen: OpenAI 的视频《最大化 LLM 性能的技术概览》,整理了关键要点,供大家参考。🚀 - 我的笔记:https://yujiachen.notion.site/LLM-ced43a3711174d5a9e514876a6eb5bb8 - 原视频:https://youtu.be/ahnGLM-RC1Y # LLM 的优化路径 - 上下文优化,让模型知道更多。 - LLM 优化,改变模型的行为和方法。 # 一般的演化方向 - Prompt engineering。 - RAG,类比给 LLM 加上短期记忆,针对具体问题提供具体信息。 - Fine-tune model,类比给 LLM 加上长期记忆,让模型持续地遵循某种行为模式或输出结构。 # Prompt Engineering 先用简单的提示词工程尝试解决问题,找到评估基准,判断性能瓶颈是上下文还是模型的行为模式。 ## 优点 - 尽快地测试并获得反馈。 - 结合性能评估,这确定了性能优化的基准线。 ## 缺点 - prompt 中引入了新信息。 - 被上下文窗口限制。 - token 使用效率低。 ## 最佳实践 - 编写清晰的指令。 - 把复杂任务拆分成简单的子任务。 - 让 LLM 有时间思考,例如 ToS,ReAct。 - 用控制变量法系统性地测试改动控制变量法。 # RAG 先根据问题找到相关的上下文,再要求 LLM 回答。 ## 优点 - 可以不断向 LLM 提供最新的信息。 - 通过控制参考文本降低幻觉。 ## 缺点 - 提供给 LLM 的信息仅限上下文片段,无法让 LLM 拥有更宽泛的领域知识。 - 不擅长让 LLM 按照规定格式或特定语言输出结果。 - 不利于降低 token 使用率。 ## 进阶技巧 - 用 cosine 计算相似度。 - HyDE,让模型先回答,用回答去搜索上下文。 - Fine-tuning embedding 模型。 - 重排搜索到的上下文。 - 分类,让模型先判断有可能在哪些数据集中找到上下文,之后再搜索。 - 并行计算,把问题拆分成多个子问题,独立计算后合并答案。 # Fine-tuning 继续在更小、特定领域的数据集上训练,优化特定任务的表现和效率。 ## 优点 - 强化模型中已有知识。 - 定制回答的结构或语气。 - 避开复杂 prompt engineering。 ## 缺点 - 如果 prompt engineering 无法提高表现,那么 fine-tuning 也不行。 - 无法添加新知识。 - 无法适应新使用场景。 ## 步骤 - 准备数据:收集、验证、格式化数据。 - 训练:选择超参数、损失函数。 - 评估:人工评估、LLM 评估。 - 推理。 ## 最佳实践 - 先从 prompt engineering 和 few-shot learning 开始,确认 LLM 适合你的使用场景。 - 确认性能基准,LLM 表现可衡量可比较。 - 注重数据质量。

00
yujiachen
13天前
OpenAI 的视频《最大化 LLM 性能的技术概览》,整理了关键要点,供大家参考。🚀
- 我的笔记:yujiachen.notion.site
- 原视频:youtu.be

# LLM 的优化路径
- 上下文优化,让模型知道更多。
- LLM 优化,改变模型的行为和方法。

# 一般的演化方向
- Prompt engineering。
- RAG,类比给 LLM 加上短期记忆,针对具体问题提供具体信息。
- Fine-tune model,类比给 LLM 加上长期记忆,让模型持续地遵循某种行为模式或输出结构。

# Prompt Engineering
先用简单的提示词工程尝试解决问题,找到评估基准,判断性能瓶颈是上下文还是模型的行为模式。

## 优点
- 尽快地测试并获得反馈。
- 结合性能评估,这确定了性能优化的基准线。

## 缺点
- prompt 中引入了新信息。
- 被上下文窗口限制。
- token 使用效率低。

## 最佳实践
- 编写清晰的指令。
- 把复杂任务拆分成简单的子任务。
- 让 LLM 有时间思考,例如 ToS,ReAct。
- 用控制变量法系统性地测试改动控制变量法。

# RAG
先根据问题找到相关的上下文,再要求 LLM 回答。

## 优点
- 可以不断向 LLM 提供最新的信息。
- 通过控制参考文本降低幻觉。

## 缺点
- 提供给 LLM 的信息仅限上下文片段,无法让 LLM 拥有更宽泛的领域知识。
- 不擅长让 LLM 按照规定格式或特定语言输出结果。
- 不利于降低 token 使用率。

## 进阶技巧
- 用 cosine 计算相似度。
- HyDE,让模型先回答,用回答去搜索上下文。
- Fine-tuning embedding 模型。
- 重排搜索到的上下文。
- 分类,让模型先判断有可能在哪些数据集中找到上下文,之后再搜索。
- 并行计算,把问题拆分成多个子问题,独立计算后合并答案。

# Fine-tuning
继续在更小、特定领域的数据集上训练,优化特定任务的表现和效率。

## 优点
- 强化模型中已有知识。
- 定制回答的结构或语气。
- 避开复杂 prompt engineering。

## 缺点
- 如果 prompt engineering 无法提高表现,那么 fine-tuning 也不行。
- 无法添加新知识。
- 无法适应新使用场景。

## 步骤
- 准备数据:收集、验证、格式化数据。
- 训练:选择超参数、损失函数。
- 评估:人工评估、LLM 评估。
- 推理。

## 最佳实践
- 先从 prompt engineering 和 few-shot learning 开始,确认 LLM 适合你的使用场景。
- 确认性能基准,LLM 表现可衡量可比较。
- 注重数据质量。
11
yujiachen
19天前
今天知道了逆转诅咒 Reversal Curse 这个专有名词,描述 LLM 可以从 A 推到 B,但是无法从 B 推到 A 的现象。

用“白云千载空悠悠的上句是什么”测试了一下,竟然所有大模型都能回答出来,但是 ChatGPT-4 无法回答😯
而且 ChatGPT 的回答很有意思,先是一口气回答了一串,最后发现自己答错了😂
所以 GPT 更像是在描述一个线性思考过程?回答了一半开始反思,而不是输出反思后的结果。如果有反思,可以直接回答“不知道”这个反思结果,或者调用网络搜索才对。

另外豆包和智谱的回答实在是过于接近啊......
02
yujiachen
28天前
和身边研发分享 LLM,有人对其理解能力表示不解,认为人可以做算术题,但 LLM 对算术题很不在行,所以 LLM 没有啥理解能力。

先不谈 ChatGPT 4 可以利用 Python Sandbox 来处理计算问题,我认为对于新技术,保持开放的态度总是有益的。单凭一个案例中的不足来全面否定LLM,就像有些人总是批评 iPhone 续航问题一样,这种做法过于片面。

其次,LLM 的真正优势在于它能够实现以前不可能的事情。而它的不足之处,通常都有现成的解决方案。探索这些解决方案可能会带来新的发现。当然,如果问题太过显而易见,比如OpenAI开放了assistant API,那对于开发 RAG 解决方案的初创企业就不太好。

更重要的是实际去尝试和做事。从表面看,研发 RAG 的公司似乎白费了力气,但这其实是发现新机会的一个契机。未涉足 RAG 领域的公司不一定能发现这些机会。不断尝试总能找到更优的解决方案。说不定现在的某个初创企业,就是未来的行业巨头。
00
yujiachen
1月前
周末了解了一些规范 LLM 输出格式的开源库:

- github.com 用 rule-based 方法来验证输出格式。
- github.com 用 LLM 检测输出语义是否符合预期。
- github.com 用注入 token 的方法控制 LLM 输出格式。
- 通过构造 prompt 直接把 LLM 输出变成编程语言对象:
- TypeScript:github.com
- Pydantic:github.com

最后特别介绍一个很神奇的 Python 变种 lmql.ai 可以把 prompt 封装成函数,被封装的函数还可以被其他 prompt 调用,比如你可以把 CoT 封装成一个函数,嵌套在其他 prompt 中,见下图:
07
yujiachen
1月前
最近遭遇的问题:当你真心追求个人成长和兴趣时,为什么还要和他人比较薪资、职级和身份?初次听到,有点被打脸的感觉,但某刻意识到这与我长期以来的身份认知有关。

毕竟从小到大亲戚朋友之间的对比,就是在围绕着这个人的社会地位进行的。某个程度上,这就是我内心地图上的坐标。

有趣的是,我“努力”的时候,从未质疑过,我用来衡量成功的标尺是否真的合适。 😀
00