年度关键词
前言
因各种事情叠加在一起, 2022 年终总结完成时间严重 delay, 写完的时间已经拖延到 2023 年 5月 13 日, 变成了1.5 年年终总结; 按照做事的起止,点来看 倒也属于真正意义上的年度结束时间, 核心原因在于每件事情带来的思考以及成长感都是相对独立的, 趁此机会复盘一下多维度上的成长以及教训
工作内容: 拍卖机制设计&引入参竞上下文的重排机制&跨渠道投放解决方案
1.机制设计-广告算法最有魅力部分. 拍卖机制设计是广告算法中最独特也是最有魅力的一部分, 如何站在平台的角度去看待 [广告主, 平台, 消费者] 三方博弈的过程是广告算法的最核心的部分, 但是这里我心目中更理想的拍卖机制设计的解决方案, 我认为仍然是需要在当前时刻针对平台的具体目标, 以及结合业务的特性去设计拍卖机制设计的方案; 不同的业务会面临不同的问题, 这里我想思考一个小红书这样一个社区类产品, 小红书这种高粘度且高质量的内容社区来看, 在商业化上却长期面临着两难的trade-off, 一方面需要维持社区内容的高质量, 另一方面也需要支撑起商业化的收入规模, 在我看来这就是比较天然的机制设计问题, 能否从平台的角度出发, 将内容质量作为拍卖的关键要素设计到商业化的广告投放里面, 并且对某些低质量的内容进行竞价机制上的变化, 例如设计某些面向更高质量素材或者适合小红书种草心智的笔记做自动化的拍卖机制, 长期来看我认为是有较大的机会做到 [优雅地用机制设计手段] 解决这个问题
2.理想的拍卖机制是什么? 以 Nerual Auction 为代表的拍卖设计范式实现了基础平台目标 revenue/客户 ROI/CTR 之间的多目标平衡, 同时在设计上想要去兼顾输入的上下文不变性和激励兼容的性质; 设计上idea 是相对理想的, 例如在 auto-bidding 这种以 bidding agent 作为广告主和广告系统的媒介的情况下, 博弈的状态是一个非常复杂、难以形式化的状态, 连博弈的状态都难以用数学工具描述的情况下, 激励兼容的保证是否还有意义值得商榷; 此外, 对于 [黑盒] 的拍卖机制方案, 是能接受的吗? 从我个人的视野来看, 通常这一类paper在设计上可以非常天马行空, 既要又要还要, 但是现实的设计又非常骨感非常保守, 那不妨问一个问题, 如果新的拍卖机制很接近于 GSP 方案下的扣费和分配, 怎么能接近内心中理想的技术方案呢?
3.预估模型 v.s. 投放策略 (出价算法)
广告算法中有两类比较关键的工作, 一类是预估模型迭代, 一类是投放策略 (出价算法) 优化, 两类工作在一个完整的广告系统中都有其不可替代的价值, 下面对于这两种技术和业务做一个本质性的对比:
1.预估模型: 预估模型永远对预估准度(序关系准度/值准度)负责; 模型优化是一个 well-defined 的目标下, 对 non well-defined 的设计(特征/模型结构/数据/训练范式)进行迭代的过程; 从预估模型的算法能力模型而言, 需要对场景/数据/特征/模型结构有非常高密度的认知, 需要更紧跟业界的核心模型的研究成果, 要有更深入而广泛的技术scope
2.投放策略: 投放策略将首先需要将”广告主的需求”翻译/解释成”算法的问题/算法的语言”; 投放本身是一个 non well-defined 的过程下, 找寻某些确定性的算法优化过程; 对于计划维度上的效果, 永远需要去控制效果上的方差; 而效果上的方差又分为从预估水平的方差和投放策略中的方差两件事情; 从投放策略的算法能力模型而言,
(i). 对投放全链路都有系统化的理解. 包括海选/粗竞/精竞/出价/创意/反作弊/频控投放过程(包括工程架构和算法两部分) 有立体的理解, 有理解指的是: 如果上述模块中有某个模块发生变化之后, 相应模块以及相关模块数据上会有怎样的表现, 同时具备分析和解决客户效果变化的能力
(ii). 针对投放产品上理解水平远超过预估模型的同学, 理解广告主变化的需求在当前这个时间段怎么能够通过算法技术达到更好的需求满足? 用怎样的技术命题去满足
(iii). 在投放算法策略上要同时兼备复杂的竞价模型, 也要有灵活配置的各类效果调控的抓手, 既有屠龙宝刀专治一切不服, 也要有瑞士军刀快速削掉苹果皮
4.AIGC/RL的思考
今年在算法界火出圈子的事情就是 chatGPT 的横空出世, 我作为问题少年, 日常生活已经离不开 newbing了, 这里有几个非常关键的思考:
(i). 模型终究要推向极致才能看到效果. 模型推到 [极致] 代表了什么样的一种状态, 拿到的结果是什么算法工程师往往也不清楚, 也没人清楚, 但未来的答案需要我们当前的持续探索, 然后告诉自己答案; 因此我在日后的算法迭代的时候, 要多问自己一个问题, 我手上的这个模型到达极致了吗? 真的到极致了吗? 不管别人怎么理解这个模型的迭代, 我的内心真的认为这个模型迭代到极致了吗? 如果没有迭代到极致, 那为什么现在不更深入一步呢?
(i). 解决一个问题, 不要对问题设定的技术选型设定边界. 要大开脑洞, 要所有算法技术更自由地融合, 更自然地融合, 最典型的做法是基于 RLHF 的 alignment 的加持下, 让大模型具备了和人类表达出的内容相似的能力
客户理解
1.广告主, 用脚投票ROI. 相对传统广告行业, 互联网这种以数据驱动的广告平台, 对于任何形式的投放产品, 对于任何层级的广告主(“层级”通常情况下是由公司定义出来的概念, 且通常包含了决策层的无知和傲慢), 最终都会以ROI衡量投放的价值, 在广告主的视野里面, 不管你是怎样的平台, 能给到更高的ROI, 那么就是更高层面的营销; 因此无论在什么时期迭代互联网广告产品, 1号位还是要问自己符合第一性原理的问题, 当前最重要的OKR怎么能够给广告主的ROI带来变化? 带来怎样的变化? 带来怎样程度的变化?
2.全域投放解决方案为客户带来了什么 全域投放 (也称跨渠道投放) 的定位是什么? 需要问问自己做的项目是解决历史包袱, 还是在建设增长抓手? 如果投入大量人力成本去只是去解决历史包袱, 那么历史迭代过程中的技术选型还是存在较大的问题的, 为什么在项目迭代的初期没有从全渠道的角度出发去优化问题呢? 或者在迭代项目的时候, 临时性的投放策略之间的相互耦合为什么不被考虑到? 技术不仅仅是技术的本身, 因为迭代路线考虑的不完善, 会对客户效果存在大量的 hurt. 大卫奥格威曾有一句名言, “要把自己的客户当做是自己的妻子”, 我是无法接受对自己的妻子做出这么 sick 的事情
3.搞算法: 活在客户的世界还是活在自己幻想的算法世界? 在迭代广告投放产品而言, 一个现实的问题是一项产品优化对客户是降低成本还是提高成本? 以市面上流行度较高的全领域投放产品为例, 该产品目标将用户的编辑计划 (新建/暂停计划, 选择定向/优化目标) 的权限开放给了算法, 用算法的能力和数据驱动方法去降低投放效果上的方差同时拿到最高的理论效果(真正的自动驾驶), 从效果上看这一种思路是对用户非常 buy in的 (详情见 2022 拼多多/快手财报广告收入数据). 通常来说, 这样的技术优化往往远远不和某个学术上的问题挂钩 (如果在 2023 年有哪篇 paper 涉及到相关技术请直接 call 我), 只是单纯从广告主需求的角度出发倒逼算法工程师去实现这样的产品创新, 事实证明能拿到很好的效果; 反观业界某些非常擅长活在自己幻想的是算法世界的这一批工程师 (当然他们有的他们可取之处, 比如非常的 pragmatic), 却很遗憾地失去了从客户视角看问题以及在客户问题上抽象最 novel 的算法问题的重要机会和能力锻炼机会 (用谢若琳的话来说: 哥, 你还是没看清社会的潮流啊)
工作方法论
1.Do something is the Key. 在今年的算法能力迭代中, 和工程同学进行了比较密切的合作, 也在工程迭代中遇到了非常多不属于算法技术本身的问题, 这部分甚至比算法问题本身迭代具有更高的成本. 在遇到的问题中, 其中比较经典的问题就是离线和在线不一致的问题, 这类问题到现在未知对一个3年的算法工程师来说或多或少都有经历过, 这里不展开赘述; 这里比较想重点阐述的是, 无论遇到哪一类问题, 头脑清晰地执行的某一种或几种验证动作一定是解决这个问题的唯一路径, 无论遇到怎样的问题, 一定有 do something 的可能性; 算法虽然很多时候是关于某种不确定性的存在, 但是在自身对问题清晰的理解下的快速验证, 一定能有办法推进每一种可能遇到的局面, 这种解决方法可能没有比较固定的方案, 但是一定有某种符合认知的 do something 的做法去揭开迷雾走向唯一的真相的路径存在, 告诉自己do something is the Key/take action is the Key.
2.如何带队将跨团队项目高质量完成?
1.拔高自己对项目的认知水平. 本质上还是对技术和业务有更全面、确定性的认知, 决定了一个项目是否能顺利的拿到结果, 因此需要不断锻炼对项目把控和技术本身的认知水平, 这是基石.
2.项目迭代中的预期管理. 对于项目迭代中的预期管理, 尤其是跨团队/跨多工种角色合作项目来说, 不要过高估计自己的推进节奏把控能力, 需要在做事的时候在脑海里面反复问自己几个问题:
这次会议关键讨论点是什么? 谁才是那个能提供最有效信息的人?
关键验证点是什么? 能验证出来什么? 不能验证出来是什么?
排期迭代点或者风险点是什么? 自己估计下, 会不会有风险被他们隐藏了?
最合理的拉会顺序是什么? 本次开会是简单聊聊合作, 还是要制定确定性计划 ?
为关键的拉会有没有铺垫好前期的共识是什么? 合作的利益点在哪?利益点必须明确写入OKR里面
老板最关心的是点是什么? 老板真的关心这个自己想的点吗? 是老板的老板是否也关注这个点?
老板会提哪些问题? 能不能预判它三四个老板想问的问题?
3.在预期上要留够多的buffer. 这里管理预期的核心不在于画出来清晰的甘特图, 而是对于事情本身的理解以及合作过程中对于合作方迭代模式, 以及迭代资源分配的理解, 本质是对怎么做成这件事的理解; slow is smooth, smooth is fast
4.业务方的预期管理. 对于业务方来说, 尤其要留够足够的buffer, 对于我个人习惯来说, 留够buffer不是低估自己的能力, 而是让合作变得压力更小, 合作更流畅; 在没有明确自己要去攻坚的事情上, 绝对管住自己的嘴, 不去过多给出承诺, 必要时要直截了当的拒绝: 干不了
Be Relentlessly Resourceful
1.发现业务/技术迭代中问题并看做是重要的机会, 针对关键问题主动拉资源成立技术专项的能力
以资源化的视角去审视特定项目的外扩性. 结合业务&技术迭代的现状, 从工程团队&产运团队的视角去看算法能力可以帮助他们如何去更好地解决问题或者提升某种效率, 给到工程&产品运营明确的收益和价值, 必须明确将这些能力的建设对齐到他们的okr里面, 强行把利益绑定在一起, 诱导他们上梁山, 大家一起”替天行道”; 实际迭代中更常见的现状是: 需要非常主动地发现和快速的梳理问题, 从已有的, 或者正在迭代的, 或者未来2个月内要迭代项目的迭代现状中大胆去定义, 去刻意地直面挑战存在的问题, 这些问题存在自己捞出来的在业务的数据中, 存在在客户反馈的工单中, 存在在别人的周报里, 存在在老板的concern或者不经意间的吐槽, 存在在产品运营的某个顾虑或者某个头疼或者焦虑事情里面; 要念念不忘这些问题, 并深深埋在自己大脑里面, 把这些问题抽象成具备更高通用性、高统一性的算法能力, 并尝试用体系化的思维去定义和去梳理, 定义和梳理的过程首先要对这个问题自己按照自己的思维起个准确的, 通用性的名字, 有点类似研究生准备开题报告和拟定准确的毕业论文题目一样; 通常而言, 这种算法能力当前是不具备的, 但是可以被短期建设起来并快速验证拿到一定的收益, 最理想的情况下可以抽象成长期建设的算法问题去攻坚和迭代; 在具体抓机会的实操上, 可以先决策技术迭代要走哪种模式: 谋定而后动还是放探针
2.以资源的视角去审视个人能力成长的现状. 主动地, 周期性地去约某些主管/高管/同事去聊, 厚脸皮地 (其实”脸皮”是一种不存在的东西) 增加one-one的频率, 让他们给到自己对于个人成长的输入, 每个月聊1次都绝对不算多; 聊天的出发点要遵循”给到对方信息量”的原则, 要提前非常敏感的做足预习工作, 最好能直接hit他们内心中的concern, 并给到对方一些输入
算法迭代的两种模式: 谋定而后动/放探针
为了快速抓住业务中存在的问题并找到资源, 进行技术能力的迭代, 存在以下两种关键的技术迭代模式:
1.谋定而后动模式. 彻底、明确地想清楚当前的业务现状和算法问题的formulation, 以及设计方案; 在没有想清楚数据现状, 当前方案的缺陷, 主要风险和收益来源的时候, 绝对不下手搞开发和验证, 宁可没有实质进展, 也不要盲目下手; 在谋定而后动的迭代模式下, 要明确地说服自己和说服老板, 能够非常明确、有说服力地回答出老板4个以上的问题
2.放探针模式. 通常情况下业务中抽象的很多算法问题在具体方案1/方案2/方案3上的收益可能会存在收益不明确的现象, 比如是否有收益, 收益大还是小; 这些 [不明确性], 是天然存在无法被公式推导出来的, 或者无法找到学术上与之完全匹配的 [学术问题] 的; 所以针对这种普遍存在的情形, 一种基础的解决方案就是利用最低的成本做收益空间的验证, 关键点就一个, 验证点清晰的情况下下手要足够的快, [下手快] 就是这件事唯一的实现节奏; 如果能比较明确、快速地验证清楚收益空间, 那么后续的决策就会天然地持续进行
高效表达方法论
1.金字塔原理: 永远先说结论. 这是在日常汇报/沟通/周报/晋升场合表达中今年最重要的收获, 金字塔原理定义了比较一般性、通用性的提升表达效率的原则: 该原则并没有多复杂, 说白了要养成 [永远先说结论] 的习惯, 只有先说结论, 对方才能更高效地get到你说的事情的结构, 而避免把话题注意力转移到某个不重要的细节上
2.如何内化成自己的唯一表达习惯. 金字塔原理用5分钟就可以说明白说的是什么道理, 但是把这种原则予取予求的应用在关键场合里面, 内化成自己的一种很强的表达能力, 却并不很容易. 为此, 我总结了下如何通过日常的训练去培养自己基于金字塔原理的表达能力上:
- 利用一切汇报/周报/工作通信软件去实践, 拒绝其他模式的表达
- 博客.
3.用我自己的说话风格写作, 而不是用我写作文的风格说话. 增加属于自己的比喻, 增加属于方言或者某种特定表达习惯的表达, 更加本质, 比如台湾老师叫线性代数里面的 useless vector 叫做”耍废向量”.
高效学习方法论
1.20分钟笔记法. 关于如何高效的学习, 去年年终讨论了做笔记的一些方法, 记笔记仍然是最基础但最高效的学习方法; 关于如何记笔记有一个问题值得讨论, 如何更好的平衡理解内容本身和记录笔记过程, 这里我发现一种对我而言合适的方法, 在阅读或者观看视频20min之后, 如果还没有任何笔记写出来的话, 强制停下来记录一些内容, 并梳理出来讲得东西的脉络和要点.
2.学习的第一步: 找老师. 如何更高效的学习, 第一步叫做”找老师”. 找一个和知识内容相关的, 且看完后满足如下体验形容词的视频先看完, 或者找能提供给如下体验的人去主动聊.
生动, 奇妙, 有趣, 美感
搞笑, 停不下来
震撼, 带感, 刺激
感动, 深刻, 深邃
3.学数学: 抓芝麻式. 提升数学功底, 是未来10年内提升技术认知效率的最重要手段第一, 需要持续地强化; 这里我抽象一种”抓芝麻”式的训练自己的方法, 我不要总想着抱回大西瓜, 而是不断地弯腰捡芝麻, 只要我弯腰弯的勤快, 总会抓到大量的芝麻
价值观升级: Be a pragmatic programmer
1.区分事务的原则: 存在的东西和不存在的东西. 在2023年初, 一个思考是什么才是真正存在的东西, 什么是不存在的东西. 人的感知系统和决策系统总是存在迷惑性的, 就好比我们在看魔术表演的时候, 看到一切感觉都很真实, 但是又被自己的眼睛+大脑欺骗; 所以什么是存在的东西, 什么是不存在的东西, 或者说什么是对自己的生活/决策/未来有影响的东西, 什么东西是没有影响的, 都需要自己给出一个binary的分类, 也就是要有个基础的model去区分在我自己的视野下, 什么是存在的, 什么是空虚的.
2.区分事务的原则: 变的东西和不变的东西 读历史我们会发现, 人们往往会过高的放大当前的感受, 而忽略长期的结果. 最典型的例子就是看NBA, 经常会是对某个球员”神一场, 鬼一场”的表现所影响, 同理还有某个争议地区的房价或者一支备受关注的股票都有类似的规律; 所以我理解对很很多东西的理解必须跳出来这种思维的怪圈, 在发生一件事的时候我不要去快速给到结论, 而是问一些更符合长期规律的事情, 1个骰子独立投掷 6 次每次都是 1, 那么投出来 1 的概率就是 1 吗? 我能不能再多看一眼骰子的结构, 理解或者评价一件事情的时候, 还是要多问问自己类似的问题.
3.理解市场, 多叫市场一声爸爸. 昆虫会根据环境的变化去进化出更容易生存下来的翅膀颜色, 西藏的牦牛会根据空气中的含氧量去进化出来自身携带氧气的能力. 硕士毕业的时候当时非常坚定的选择了我想去的公司, 现在时过境迁, 今年一些经历让我对市场产生了非常 refresh 的认知, 唯一不变的是变化, 市场的反馈永远是正确的, 所以需要更谦卑地叫市场一声”爸爸”, 然后更 reasonble 地去做相应的决策.
4.穿梭时光机, 把自己卖出去. 在一个充满变化的市场下, 在不断感知市场爸爸的喜好下, 同事需要更好地储备自己的能力, 并在合适的时机把自己卖出去; 没有永远值钱的资产, 要做的只是资产在反复买卖下的优化; 没有绝对的有价值能力储备, 我要学会在合适的时间, 通过时光机穿越会某个更需要自己的时代, 果断把自己卖出去; 擅长利用时间机器降维打击, 多用猎枪对战长矛, 而不是猎枪对猎枪, 长矛对长矛
5.我不会为你的期望而活, 恰如你也不会为我的期望而活. 在今年做的事情中, 接受到的成长输入量很大, 有相当一部分给到的是非常正向体感的输入, 也有些给到的是对当前现状下存在的短板的输入, 毫无疑问的是, 我都从这两类正反的输入中更清晰、明确地找到了未来需要改进和努力去捅破的方向, 这很nice; 面向当下和面向未来, 不管行业变革有多深刻、多复杂和多迅速, 充分保持学习能力和感知市场的能力, 这是我个人(也是所有人)唯一可做也是唯一正确的事情, 在这件事情上, 未来给自己多一点自信, 多一点勇气, 抬起头, 抬起胸膛去大胆去竞争, 市场是所有人共同的爸爸, 谁都要去和看不见的手去主动握手, 去感受这只手的力道. 2023, 我会非常努力的多看高看自己一眼, 没错, 主动求变, 但永远不接受别人的定义, 为自己的期望而活; 我不会为你的期望而活, 恰如你也不会为我的期望而活.
转载请注明来源, from goldandrabbit.github.io