一本指导或者给编程工作者建议的书
书名为:自洽的程序员地址:https://www.dev-life.site/这本书不是技术指南，也不会教你如何规划职业生涯。它专注于帮助程序员应对工作中的焦虑、倦怠和迷茫等情绪问题。通过调整认知，引导你更坦然、真诚地面对内心，成为一个自洽的人。简而言之，这不是一本成功学书籍，而是一本帮你梳理情绪、转变心境的书。为什么要写这本书现有书籍的局限寻找解决之道本书适合谁阅读如何阅读本书带着问题读随性阅读第一章：建立你的工作哲学概述1.1 第一性原理思考工作1.2 工作挣扎是常态1.3 工作承载不了太多意义，但也不要陷入工作虚无主义1.4 人，要过得自私且坦荡第二章 工作方法论概述2.1 心态开放，你的职场第一课2.2 下场去做，你的职场第二课2.3 寻求帮助是项高级技能2.4 害怕直面冲突，怎样才能支棱起来2.5 如何面对职场PUA2.6 内耗，是从拒绝沟通开始的2.7 不喜欢编程，还要坚守程序员这个岗位吗2.8 工作倦怠了吗，试试三叶草模型2.9 天天用AI，以后自己不会写代码怎么办2.10 职场中如何做选择2.11 职场中最实用的三个思维模型2.12 不会吹牛逼，述职/晋升总是吃亏怎么办2.13 程序员容易最忽略的几件重要的事第三章 工作中的人际关系概述3.1 领导一对一（1on1）聊什么3.2 领导让我提意见，我该怎么提3.3 同事太优秀了，我嫉妒到想退休养猪3.4 同事是傻逼，我有厌蠢症，实在受不了了3.5 卷王太凶残，我要不要'反卷'？3.6 我没有晋升不重要，但是他的晋升让我不爽3.7 社恐人混职场是真难啊第四章 工作与家庭概述4.1 好的伴侣可以帮你消化工作上的负面情绪4.2 维系亲密关系最重要的一点4.3 情绪稳定是个伪命题4.4 伴侣老是抱怨，我该怎么办4.5 婆媳关系真是男人的噩梦啊第五章 程序员副业概述5.1 打工人做副业，要先学会转换思维模式5.2 2025年程序员最值得做的副业5.3 副业跑起来最重要的一点5.4 副业中，如何克服畏难情绪5.5 如何平衡主业和副业第六章 只工作不上班概述6.1 我所接触到的程序员副业6.2 gap 无罪，寻找属于你自己的pathless path6.3 其实，不工作，也能活得很好结语：成为一个自洽的程序员希望可以通过本书让自己更好的成为我自己。阅读后对一些喜欢内容的收集:思考方式要具备发现、分析和解决问题的能力，勤于思考，避免就事论事，从多渠道、多方位、多角度、多层面去看待工作。思考工作在人生中的定位，以及如何通过工作与社会链接，明确工作与生活的关系，确定值得追求的工作目标，如薪资、能力、影响力等。思考如何平衡个人价值和公司价值，明确工作中应坚持和妥协的方面。代码编写理念写代码时，应思考代码要解决的问题，而非单纯复制 Stack Overflow 上的答案。定期反思定期和自己对话，每月反思摸鱼是否值得，记录心情，复盘项目得失。建立评估框架，从工作是否开心、技术是否进步、钱是否够花等方面评估工作，及时做出调整。调整原则相信直觉，不爽就换工作；大胆尝试新机会。思维转变从“完成任务”到“解决问题”，从“写代码”到“写方案”，从“改 bug”到“防 bug”，从“被动接需求”到“主动提方案”，从“只管写代码”到“参与决策”，从“单打独斗”到“团队协作”。全面发展工作之外要有爱好，职场之外要有朋友，技术之外要有兴趣，收入之外要有追求。自我防护记录工作内容、解决的问题和贡献的价值，留存聊天记录、邮件往来和关键会议内容。设立工作边界，如工作时间、加班补偿和职责范围。沟通技巧遇到问题先自我反思，思考如何与对方沟通及更好的解决方案。职业生涯规划模型 - 三叶草模型兴趣叶：对工作的热情和喜爱程度。能力叶：解决问题的技术和才干。价值叶：工作带来的回报和意义。应用方法先定位问题出在哪片叶子，再分析原因，最后对症下药解决问题。工作选择考量考量维度对公司和工作的兴奋感、成就感，以及是否能带来好故事和成长。项目的挑战性和值得投入程度。工作方法与工具总分总先说结论，再说细节，最后重申结论，用于写文档、解决问题和汇报工作的整体结构组织。优先级四象限把任务按“重要”和“紧急”分为重要且紧急、重要不紧急、紧急不重要、不紧急不重要四类，突出重点内容和确定优先级。STARSituation（情境）、Task（任务）、Action（行动）、Result（结果），用于描述关键实践、总结复盘和讲述成果。工作汇报内容工作进展：挑战、解决方法、学习收获和所需支持。个人成长：学习内容、瓶颈、困惑和发展方向。团队建设：团队氛围、协作情况、流程建议和团队需求。对公司的想法：战略理解、产品建议、流程改进和团队发展建议。AI + 自媒体应用用 AI 进行文章生成（公众号、知乎、博客）、视频制作（视频号、B站）、图片创作（小红书、Instagram）和音频合成（播客、有声书）。个人发展规划认识自我：明确热爱的事物、核心能力和期望的生活。降低成本：明确必需开支，优化费用，建立应急储备。尝试新可能：从副业开始积累经验，建立节奏。
尝试用Cursor与通义Lingma优化Typecho博客,解决之前一直困扰的ExSearch搜索问题,成功解决.学各种各样的AI相关的课程,还不如直接上手用AI解决问题的过程中学习AI来的更实际,效果更好.解决方案: 在主题的 footer.php 中引用 目前的思路:1.用Agent直接优化整个Typecho,根据所列出和修改的建议点择优采纳.2.用扣子空间生成网站播客3.
李沐大神三部曲之三“创业一年，人间三年”给小伙伴汇报一下LLM创业第一年的进展、纠结和反思在Amazon呆到第五年的时候就想着创业了，但被疫情耽搁了。到第7年半的时候，觉得太痒了，就提了离职。现在想来，如果有什么事这一辈子总要试下的，就蹭早。因为真开始后会发现有太多新东西要学，总感叹为啥没能早点开始。名字：BosonAI的来源创业前做了一系列用Gluon命名的项目。在量子物理里，Gluon是把夸克绑在一起的一种玻色子，象征这个项目一开始是Amazon和Microsoft的联合项目。当时项目经理拍拍脑袋名字就出来了，但取名对程序员来说很困难，我们每天都在纠结各种文件名和变量名。最后新公司干脆就用玻色子（Boson）来命名了。希望大家能get到“Boson和费米子组成了世界”这个梗时会会心一笑。但没料到很多人会看成Boston。“我来波士顿了，找个时间碰碰？” “哈？可我在湾区呀 ”融资：签字前一天领投方跑路22年年底的时候想到两个用大语言模型（LLM）做生产力工具的想法。碰巧遇到张一鸣，就向他请教。讨论之后他反问：为什么不做LLM本身呢？我的下意识退缩：我们之前在Amazon的团队做了好几年这个，得上万张卡，和blabla这么一大堆困难。一鸣呵呵表示：这些都是短期困难，眼光得看长远点。我的优点是听劝，真就去做LLM了。凑齐了数据、预训练、后训练、和架构各方向负责人的创始团队，就去融资了。运气不错，很快拿到了种子投资。但钱还不够买卡，得去拿第二轮。这一轮领头是一家非常大的机构，做了几个月文档、商讨条款。但在签字前一天，领头说不投了，直接导致了跟投的几家退出。很感激剩下的投资方，还是做完了这一轮，拿到了做LLM的入场券。今天反思的话，当时蹭着资本市场热情还在，其实可以继续融资，说不定也跟其他友商一样，现在十亿现金在手。当时担心融资太多，会不好退出，或者被架到天上去了。现在想来，创业就是想逆天改命，想什么退路呢？机器：第一批吃螃蟹的人有了钱后就去买GPU。问各个供应商，统一回复是H100交货得一年以后了。灵机一动，直接给老黄写邮件。老黄秒回说他来看下。一个小时后超微的CEO就打电话过来了。多付了些钱，插了个队，20天后拿到了机器。很荣幸早早的吃到了螃蟹。螃蟹吃到怀疑人生，遇到了各种匪夷所思的bug。例如GPU供电不足导致不稳定，后来靠超微工程师修改bios代码打上补丁；例如光纤的切开角度不对，导致通讯不稳定；例如Nvidia的推荐网络布局不是最优，我们重新做一个方案，后来Nvidia自己也采用了这个方案。至今我都不理解，我们就买了不到一千张卡，算小买家吧。但我们遇到的这些问题，难道大买家没遇到吗，为啥需要我们的debug？同时我们还租了同样多的H100，一样是各种bug，GPU每天都出问题，甚至怀疑是不是这个云上就我们一个吃螃蟹的。后来看到Llama 3的技术报告说他们改用H100后，训练一次模型被打断几百次，对字里行间的痛苦，很是共情。如果对比自建和租卡的话，租三年成本和自建成本差不多。租卡的好处是省心。自建的好处有两个。一是三年后如果Nvidia技术还遥遥领先，那么它能控制价格使得GPU仍然保值 。另一个是自建的数据存储成本低。存储需要跟GPU比较近，不管是大云还是小GPU云，存储价格都高。但一次模型训练可以用几TB空间存checkpoint，训练数据存储是10PB起跳。如果用AWS S3的话，10PB一年两百万。这钱用来自建的话，可以上100PB。商业：感恩客户，第一年收支平衡非常幸运的，我们第一年收入和支出是打平的。我们支出主要在人力和算力上，感谢Openai的财力和Nvidia的遥遥领先，这两项支出都挺大的 。我们的收入来源是给大客户做定制的模型。很早就上LLM的公司大都是因为CEO非常有决策力，他们没被高昂的算力和人力成本吓到，果断的去推动内部团队配合尝试新技术。非常感恩客户给了我们喘气的时间，不然这个几个月我又是奔波在各个投资人那里。接下来应该会有更多公司去尝试使用LLM，不论是自己产品的升级，还是降本增效。原因是一方面技术成本在降低，另一方面行业领先者（例如我们客户）会陆续放出基于LLM的产品出来，把行业卷了起来。我们也在关注LLM在toC上的落地。上一波顶流例如c.ai和perplexity还在找商业模式，但也有小十来家LLM原生应用收入还不错。我们给一家做角色扮演的创业公司提供了模型，他们主打深度的玩家，打平了收入和支出，也是厉害的。模型能力还在进化，更多模态（语音、音乐、图片、视频）在融合，相信接下来还会有更有想象力的应用出现。整体来说行业和资本还是急躁的。今年好几家成立一年多但融资上十亿的公司选择退出。从技术到产品是一个很长的过程，花2、3年实属正常。算上用户的需求的涌现，可能得花更长时间。我们专注当下在迷雾中探路，对未来保持乐观。技术：LLM认知的四个阶段对LLM的认知经历了四个阶段。第一阶段是Bert到GPT3，感受是新架构，大数据，这个可以搞。我们在Amazon的时候也是第一时间去做了大规模的训练和在产品上的落地。第二阶段是刚创业的时候GPT4了放出来，大受震撼。大半原因来自技术不公开了。根据小道消息估算一次模型训练一个亿，标数据成本几千万。很多投资人问我复现GPT4成本得多少，我说3-4亿要把。后来他们中一家真一把投了大几亿出去。第三阶段是创业的第一个半年。我们做不动GPT4，那就想着从具体的问题出发吧。于是开始找客户，有游戏的、教育的、销售的、金融的、保险的。针对具体的需求去训练模型。一开始市面上没有好的开源模型，我们就从头训练。后来很多很好的模型出来了，降低了我们成本。然后针对业务场景设计评估方法，标数据，去看模型哪些地方不行，针对性提升。23年年底时，惊喜发现我们的Photon（Boson的一种）系列模型在客户应用上的效果都打赢GPT4了。定制模型的好处是推理成本是调用API的1/10。虽然今天API已经便宜很多，但我们自己技术也同样在进步，仍然是1/10成本。另外，延时等都可以更好的控制。这个阶段的认知是对于具体应用，我们是可以打赢市面最好模型的。第四阶段是创业的第二个半年。虽然客户拿到了合同里要的模型，但还不是他们理想中的东西，因为GPT4还远不够。年初时发现针对单一应用训练，模型很难再次飞跃。回过头想，如果AGI是达到普通人类水平，客户要的是专业人士的水平。游戏要专业策划和专业演员、教育要金牌老师、销售要金牌销售、金融保险要高级分析师。这都是AGI加上行业专业能力。虽然当时我们内心对AGI充满敬畏，但感觉是避不开的。年初我们设计了Higgs（上帝粒子，Boson的一种）系列模型。主打通用能力紧跟最好的模型，但在某个能力上突出。我们挑选的能力是角色扮演：扮演虚拟角色、扮演老师、扮演销售、扮演分析师等等。24年年中的时候迭代到第二代，在测试通用能力的Arena-Hard和AlpacaEval 2.0上，V2跟最好的模型打得有来有回，在测试知识的MMLU-Pro上也没差很远。Higgs-V2是基于Llama3 base，然后做了完整的post-training。我们没资源像Meta那样花大钱标注数据，所以V2比Llama3 Instruct好，原因应该还是主要来自算法的创新。然后我们做了个评估角色扮演的评测集，包含按照人设扮演，和按照场景扮演。怪不好意思是自己的模型在自己的榜单上拿了第一。但模型训练中是没有碰评测用的数据。因为这个评测集是想自用，希望能真实反映模型能力，所以要避免模型overfit数据集。但做评测集的同学想写技术报告，所以干脆放出来了。有意思的是，按角色扮演的测试样本来自c.ai，但他们家的模型能力是垫底的。第四阶段的认知是，好的垂直模型通用能力也不能弱，例如reasoning，instruction following这些能力垂直上也是需要的。长远来看，通用和垂直模型都得朝着AGI去。只是垂直模型可以稍微偏科一点，专业课高分，通用课还行，所以研发成本稍微低一点，研发方式也会不太一样。那第五阶段认识呢？现在仍在进行中，希望能很快分享。愿景：人类陪伴说来惭愧，我们蒙头做技术，给客户做定制，然后再慢慢想我们自己追求什么愿景。我们去看客户想要什么、我们自己想要什么、未来可能需要什么。我自己的话，多年前我憧憬有个机器人保姆能帮我带娃、陪他们，因为干这个我觉得很难，而且也不太理解娃当前的认知和想法。我希望工作上有个非常厉害的虚拟助手能跟我一起发明新的东西。等我老了也想有很有意思的机器人陪着。我对于未来的预测是，生产工具越来越发达，一个人完成之前一个团队才能完成的事情，导致人类更加个体独立，大家都忙着追求自己的事情，从而更加孤独。这些综合在一起，我们把愿景定成了“人类陪伴的智能体”。一个情商很高的，智商在线的智能体。算换成现实中的人的话，应该会是一个专业团队。例如你想让它陪你玩，那它是专业策划+演员。陪你运动，那么鼓励师+专业运动教练。陪你学习，那么能把你不懂的讲懂。模型的好处是，它能做长期的陪伴，真的了解你。而且可以“真心为你”。不过目前技术离愿景还挺遥远。当下技术就能陪着聊聊。很多场景下聊得也不是那么好，内容匮乏，智商情商有时都不在线。都是当下要解决的问题。如果有小伙伴做这一块的海外应用，欢迎联系我们。团队：有挑战的事情得靠团队创业之后才真正觉得团队的重要性。在大厂的时候，觉得自己是个螺丝钉，团队成员是螺丝，甚至团队也是个螺丝钉。但创业团队就是一辆车。车小点，但能跑，能载重，转弯灵活，各个角落都能去。公司成立不久的时候，米哈游老蔡来看了眼，看见所有人在一间房子里，他感慨说小团队真好。不方便的地方当然也是有的，时刻要看有没有油，不好走的路得小心别把车震散架了。每个成员都很重要，没有冗余，一个人不给力，就可能是一个轮胎没气。人也宝贵，走一个人就可能少一个轮胎。以前我选项目会选自己能主导开发的。但这也意味着问题不会超出我能力太多。创业选了个很大的问题去做，只能全靠团队了。别看本文里用了大量的“我”，其实工作都是团队做的。没了团队，我可能得转行去卖课了（此处不需要掌声）。个人追求：名还是利？到目前为止我都靠跟着内心的声音做决定，工作后再去读博、去做视频、去创业。创业需要强烈动机的支撑，才能克服层出不穷的困难。这需要对自己的动机做更深入的分析。动机要么来自欲望，要么来自恐惧。十年前我可能更热衷名利，但到了现在的年纪，觉得金钱的边际效用已经不高，名声带来的情绪价值也已经很小。我深层的动机来自对生命可能没有意义的恐惧。先不说宇宙的浩瀚，就是在人类的历史长河，一个人也只是一粒沙。意外的到来，迅速的消失。地球上生活过一千亿人，绝大部分人不会在历史上留下痕迹。我家家谱上那上千个人名，我几乎都不认识。那么一个人的存在的意义是什么呢？小时候曾因为想不清这个问题而抑郁。所以我想去创造价值，获得存在的意义。我选择“上进”，去提升自己的创造价值的能力；选择录长视频和写教材，创造教育价值；选择去写读博、工作、创业的总结，描述里面的纠结和困难，创造真实案例的价值；选择去创业，团结很多人的力量去创造更大价值。后记去年跟宿华在斯坦福散步，他拍着我肩膀说：“跟我说句实话，你为什么想创业呀？”当时候不以为然：“就是想换个事情做做”。然后宿华笑了笑。现在我懂了，因为他经历了创业酸甜苦辣。如果今天再来回答这个问题，我会说：“我就是脑子抽了”。但也庆幸当时没想到会那么不容易，所以一头扎进来了。否则，大家看到的可能是「工作十年反思」。我觉得我今天写的故事更有意思些。致敬所有创业人。
李沐大神三部曲之二“工作五年反思”五年前的今天我飞往西雅图参加亚马逊的面试。面试完后连夜做红眼航班飞往波士顿赶去参加老婆在MIT的博士答辩。答辩一半的时候电话响了，对方说恭喜你面试通过，想聊下薪水。我说其实就面了你们一家，直接给就是，先挂了。答辩完第二天跟老婆去市政局登记结婚。在宣誓厅门口排队的时候，老板打电话过来，很兴奋的说你来了后可以做这个做那个。我说是挺好的，但先要结婚去了。老板一愣，道了一声恭喜，继续往下说。我不得不打断：得先走了，轮到我们进去宣誓了。五年一眨眼就过去了。外面来看最大的变化是多了两个娃。但最大的变化来自认知，是人生观、世界观、价值观的改变。博士毕业的时候曾写过我的体会很多同学留言说深受鼓舞。现在我想同样给大家分享这五年工作中的经验和感悟。更确切说是失败的教训，因为每一点就是付出了学费后获得的教训。希望这些同样能对大家有所帮助和启发。事情的价值是对社会的价值读书的时候，你会有明确的目标，例如考试的分数、深造的学校、或找到好工作。工作后的最大不同是你有太多可以最求的目标。这个带来的改变是你需要决定哪些事情现在做，哪些以后做，哪些可以不去做。决定优先级应该是根据事情的价值。我现在评估一件事的价值是它对社会的价值，用公式来写就是受益人数 x 人均时间 x 单位时间价值差这里能从一件事情受益的人数，和受益的人均时间是这件事本身属性。第三项取决于你对这件事完成的好坏，就是你做得比别人做的类似的事情要好，从而受益人从你这里受益比从别人那里多。这个公式可以用在各种不同的事情上，接下来我们会不断使用它。这里先举几个例子。例如伟大的产品一般具有极高的价值。拿微信来说，它是手机通讯软件，面向几十亿手机用户，每人每天会使用数小时，所以它价值的前两项非常大。因为微信用户体验很好，它比其它替代品的用户体验好给用户带来的价值就是价值差。所以微信是一个非常有价值的产品。举个小点的例子，例如你带人写一篇论文。论文影响的人数就是这个研究领域的大小；作用时间是别人做一个跟你工作相关的研究所花的时间，可能一辈子就几个月；价值差则是你的研究相在前人工作之上的贡献。这样看来，你需要做热门领域和跨时代论文才能取到高价值。但我们知道一篇论文一般贡献不大、也就几个人会读，所以算下来基本没什么价值，为什么大家还是会积极“灌水”呢？这里我们还要细看两个价值：一是你通过这个研究熟悉了一个新领域或者新方法，对你个人有学习价值。二是你带人做研究能提升他们在想方法、做实验、和写论文上能力，对他们价值很大。所以即使是知名研究者，名字也会出现在很多新手习作一样的论文上面。再举一个更小的例子。过去四年里我花在带娃上的时间比工作多。在相当一段时间内都觉得事业被娃耽搁了。直到后来我用这个公式来算：虽然人数只是两个人，但受益时间相当高，一周五十小时以上。而且父亲就一个，有我陪和没我陪对小孩来说区别巨大（自我感觉），所以价值公式的后两项很高。此外，带娃对我个人也有价值，包括如何去理解思维方式完全不一样的他人，以及时刻跟自己想暴怒的冲动做斗争，最终达到佛性的状态。这样算下来心里就顺了服务社会最后也是服务自己上面这个价值公式强调的是事情对他人的贡献。在用它之前，我的价值公式更关注自己。例如我常用一件事情的好玩程度，或者里面的技术含量来划分优先度。问题是虽然享受做事情这个过程，但之后的成就感不高。有点类似打完游戏后的空虚。因为做完后经常发现，这个虽然酷炫但没什么用，没多少人理睬。原因是对个人的有直接高价值的事情，对他人价值不一定大。很有可能这件事情本身只对很小群人有意义，可能每个人受益时间短，或者其实是重复造轮子，市面上已经有了差不多的替代品。如果优化对社会的价值，你会得到对自己的延后回报。这个回报包括了你知道做这个事情对他人有用时带来的更高层次的内心满足，以及他人从你这里受益时给与的馈赠（给你点赞、或者老板给你升职加薪）。当然，这两者不一定同时出现。很多时候你创造的价值不一定被别人关注（数十年维护那些大家用起来习以为常的开源工具包），也有时候大家会夸大吹捧你的贡献。你应该积极寻求别人的肯定，这会给你更多的资源做更大事情。但你应该更关心内心的满足，因为更可控、不容易别他人误导。更多是它会给你内在动力去把事情做得更好，这是你能不断成长的根基。技术最终是为产品服务技术专业的同学刚进入公司通常会继续做技术。刚毕业那会儿我觉得进入大公司就是做技术，成为世界上最好的技术专家之一。而且不要做产品，因为如果做产品的话我为什么不自己创业呢，赚的钱还是自己的。后半句没什么问题，但前半句忽略了技术最终是为产品服务这一事实。虽然因为公司的不同，对技术进入产品的预期时间会不同，但通常在半年到五年之间。预期是超过五年的公司屈指可数，而且大多已经作古。所以就算你在公司的研究部门，也应该知道公司对于技术落地时间的预期。否则时间一到就会面临公司削减不达预期的技术的投资。最坏情况是你们上新闻了：某某公司研究院院长离职，部门成员各奔东西。那么什么样的技术能进产品？通常你会根据公司现有的产品有个大致的想法。接下来你要知道这个产品的主要价值是什么（套用之前的公式）。然后你需要去琢磨你做的技术对这个产品的价值。如果你的技术能提升产品的核心功能，哪怕是一点点，也会得到资源来落地技术。例如提升微信的视频压缩技术、今日头条的推荐算法、苹果的外壳材料。反过来，如果没有抓住主干，例如微信装皮肤、今日头条网页版加速，苹果操作系统兼容其他硬件。就算你可以做到比现有技术提升很多，产品团队也可能没动力帮你，甚至一开始就告诉你别做这个。所以不管你是在产品团队做技术，还是在公司研究院，都应该对产品的价值有所了解。例如深入理解产品经理的口头禅：市场、刚需、痛点、高频。同时也应该知道你手上的技术对产品的价值，用它来指导你对技术路线的规划。不想当将军的士兵不是好士兵人的满足感来自于对比，不管是对比别人还是对比自己过去。这个欲望驱动你去追求有更大价值的事情。这意味着你需要更多资源去做大做强。最起码的是你需要一个团队。你可能是这个团队的管理者、领导者、或者兼任两者。也许你更喜欢一个人做技术，至少我一开始是这么想的。但随着你的能力的增长，别人对你的责任的期望也越大，你不可避免得去带一个团队。否则你得去其他地方找满足感。与其别动的被推到了这个位置，不如一开始就做好准备。这里有大量的职场书籍可以参考。我自己的经验很简单：领导者是带路者，需要有好眼光。管理者是后勤官，让团队执行高效。下面分别解释这两点。放眼在三年以后领导者最重要的是在带着团队探索未知领域时找出正确的方向。也就是说保证你们做的产品或技术是有价值的。因为做一件事需要时间，所以你得预判事情在未来的价值。如果判断不准，大家辛苦做了很久，做完后发现效果一般，那么团队士气就会低下。各种问题就会接踵而来。你去想一件事情未来的价值时，时间不要太短也不要太长，三年比较合适。假设你想继续沿着现在的方向走，那么需要考虑三年后你关注的用户群和使用时间是不是会发生变化。变多是好事，不变表示你做不了太大，但如果会变少，你得考虑要转向了。你还需要警惕新技术的出现，很可能新的技术会短短几年就完全推翻旧技术（深度学习、智能手机、电动车）。分析那些失败的例子，当事人其实很早就察觉到了新技术，但低估了它的能量。他们只看到了新技术比现有成熟技术的不足，然后套用成熟技术的发展速度在新技术上，低估了三年后新技术能到达的高度，和用户喜新厌旧的程度。如果你要做一个新的方向，那你可能不再有技术积累优势，就是跟别人比你给用户带来的价值差可能不明显，甚至更低。那么你需要找到好赛道（投资人口头禅），通常是颠覆性的新技术，以及随之带来产品和用户的变化。只有在快速变化的赛道上，新入局者才更容易通过更准确的预测未来的价值来弯道超车。也就是乱世出英雄。好的眼光需要一个长期的训练。你需要不断的去做深入思考，获得自己独特的观点，而不是靠朋友圈里大家的高见。所以你需要时不时放下手头的事情，给自己空出时间做深入思考。例如我会时不时去家附近的Bay Trail走上几个小时，边走边想。管理的核心是诚心待人如果你有一个明确的团队目标，和一个高质量的团队，高效执行是水到渠成的事情。所以管理者有三个核心事情：招人、留住厉害的成员、和帮助落后的。招人最理想是招比自己厉害的人。另外是每次招的人都比同级别的一半人厉害，这样能保证团队扩张时能不断提升团队质量。能力突出的成员在哪里都会受欢迎。你的一个任务是让他们能尽可能长的留在团队里（虽然最终是要走的）。一个办法是把自己放在他们的位置，想象你想你的领导如何待你。例如我自己最希望的是不断做有更大价值的事情（成就感），并从中学到新东西（个人提升）。在我困难时候老板能给与支持（经常发生）。其他的都可以换算成当前待遇，例如可以多少时间做不喜欢的事情（不赞同一件事的价值，但又没能说服别人不做）、上下班路上很堵、食堂没中餐。所以大方向上是创造轻松的环境、每年能新立项有价值的项目、和尽量给大家争取待遇。对于绩效不理想的队员，你需要经常性的指出问题并给予建议，如果一段时间没改进则需要讨论是不是当前项目不合适。如果仍然无进展的话，那只能帮助他们换组，或者要求他们离开。同样，你需要把自己代入对方的位置，明白想得到什么样的帮助和尊重。绝大部分时候，不是他们人不行，只是你们不合适。愉快的分手能让前成员更快的找到更合适的职位（从而避免他们给你寄刀片）。专注！专注！有人说创业公司一个常见死因是在有了一定成绩后盲目扩张。这个在哪里都成立。不管你是一个人，带一个团队，还是领导一家公司，资源总是有限。集中资源在最有价值的事情才能保证成功。例如苹果好几十万人，但对于产品线的扩张上非常谨慎。从而能保证每一款产品都砸上足够多资源来颠覆市场。在初期你也许可以广撒网多捕鱼，一旦事情的价值慢慢清晰，我们需要逐步集中资源。因为同时把做几件类似的事情做好，不如只把一件事情做到极致、做到市面上最好。这样你总是可以得到正的价值差。一个第一比十个第二好，第三通常都活不长。同样的道理也可以用在生活、社交、和学习上。只要投入力气，短板可以变成优势以前每次发布MXNet的新特性时，知乎同学都是吐槽：回去写好文档先。大家都知道程序员不喜欢写文档。我从小语文和英语都是在及格线徘徊，更是心有抵触。17年的时候痛下决心来写文档，我把我所有留下做技术的时间都花在上面，最后跟大家一起写出了《动手学深度学习》这本教科书，现在被全世界近200所大学采用做教材。所以，你的不足能成为你的机会。只要你直面它，狠下心来花力气，不断去改进，你的短板会变成优势。扬长避短所有命运的馈赠，都在暗中标好了价格。当我把精力都花在文档上时，便忽略了MXNet本身。没能组织投入大量资源去持续提升它的性能和易用性，导致它没能做到前二。从价值上来说，《动手学深度学习》和MXNet在用户数和用户价值上差不多，但用户使用深度学习框架时间多于读教材，所以MXNet价值更大。在不擅长的领域花费了大力气打赢一仗，但在优势领域失去了价值更大一个，很难说是划得来。所以，在扬长和补短上面，一定是要根据价值来判断，而不是面子。分布式系统里通讯开销才是大头当一台机器算力不够时，我们用多台机器协同工作来共同完成任务。虽然分布式系统是很多家互联网公司的基础架构，但提升性能仍然是很难。因为每台机器实际算力会有不同，时不时还会罢工。而且一台完成自己的小任务时，经常需要等其他机器任务的结果，导致频繁数据通讯和等待。所以大家都知道提升性能的关键是减少通讯开销。当你需要一个大团队来协同做一件事时，同样通讯开销是大头，优化起来比分布式系统能难，因为人的差异性和不稳定性比机器大多了。人的能力不同，做事效率不同。每个人分工的不同，导致做事方式也不样，甚至优化的目标都不一样。大部分人只关心自己的事情，不想也不愿操心别人的事情。如果不能有效把所有人拧在一起，就是一盘散沙，做不成大事。如果你刚进职场，最关键的一点是你需要意识到：你需要预留足够多的时间和精力来沟通。不要抱怨这是你们公司的制度问题，这是大团队作战时的固有现象。升职我因为运气不错升到了一个比较高的职位，从而有机会经常参加公司的从高级工程师、科学家到总监的升职评定。虽然公司、职位、级别不同带来差异性，但总体来说，一个人能否升职成功取决于她做的最大项目对公司的价值是不是达到这个职位的要求。这里有三个要点：一是项目对公司的价值。意味着针对的人群和价值差都是公司关心的，而不是你个人或者社会关心的。这里价值通常就是给公司赚了多少钱，或者3-5年后可能会赚多少钱。二是看的是你最大的项目要够“档次”。累积很多项目，想通过不看功劳看苦劳升职可能是行不通的。三是你在项目中的贡献，例如你负责多大一块，是贡献了代码、团队协调、宣传、制定计划、还是申请到了资源。一个常见误解是跟人合作会降低我的贡献。如果你和合作者配合不好，导致1+1远小于2，那么你的贡献确实降低了。但如果通过合作把项目价值做大了，那么你分到的贡献是不会少的。特别是如果项目价值上了一个档次，那就更好了。升职有一个经常被忽略的“潜规则”是影响力。随着职位的升高，公司对你的影响力的期望也越高。从能影响一个小团队，包括制定技术路线、帮助队员上手、解答疑惑、甚至是帮助别人来完成工作，到影响隔壁组（经理），影响隔壁部门（高级经理），影响隔壁集团（总监），最后到影响整个公司战略（副总裁）。除非你是天生的领导者，不然你得花力气去培养自己的影响力。简单来说是在管好自己的事情外，积极的去帮助别人。当别人信你、咨询你意见、愿意找你合作时，那你就有了对他们的影响力。你可能会觉得帮别人会耽误自己的活。但从公司角度来看，是需要鼓励这种奉献精神，而且要予以奖励。此外，你从中赢下的信任给你带来名声和人脉，长远来看是很有用的。加薪大公司里薪酬相对透明，每个级别对应的薪酬通常可以在网上找到。一个级别内薪酬有浮动，一般有个最小值和最大值。80%在中值附近，两头各10%，分别是刚升到这个级别的人和快要到下一个级别的人。可以简单的认为，随着能力的提升，你的薪酬会从最小值逐步跳到最大值，然后升职到下一个级别对应的区间。不同级别的薪酬中值通常是个等比序列，而不是等差。例如比你高一级的人可能工资比你多一半，但高三级的人不是比你多150%，而是多238%。在这个模型里，你需要优化你的五年后，或者十年后能到达的高度。所以在比较offer时，你不要太关心它们之间的数字差价，而是关心去你去了之后的发展（你说我现在多拿点去买币，说不定马上就财富自由了，那也是一个思路 ）。总结：专注于最有价值的事情如果把这五年的感悟精炼成一句话的话，会是很平淡的一句：专注于最有价值的事情。首先，你需要对价值有清晰的认识。接着，对一件事情，不仅是要认识当下的价值，更多的是对未来价值的预测。其次，当你通过不断的快速试错对未来有了把握的时候，你需要逐步的把你能调用的资源专注到最有价值的那一件事情上，尽你可能的做好。如果一生中能做好几件有着极大价值的事，那也就值了。写此文的时候惊闻袁隆平老师逝世。谨以此文纪念他伟大的一生：专注于杂交水稻，创造了人类历史上最伟大的价值之一。我辈楷模。
李沐大神三部曲之一“博士这五年”前言12年8月提着一个行李箱降落在匹兹堡机场。没找住的地方，也不知道CMU应该怎么去。对未来一片迷茫，但充满乐观。 现在，刚完成了博士期间最后的一场报告，在同样的机场，不过是在等待离开的航班。回想过去的五年，是折腾的五年，也是自我感悟和提升的五年。这里我尝试记录这五年主要做过的事情和其中的感想，希望对大家有所启发。第0年：3/11-8/12我第一次申请美国的博士是在11年，但拿到的offer并没有特别合适的导师，于是就北上投奔文渊去了。 我当时在百度商务搜索部门做广告的点击预估。具体是使用机器学习来预测一个广告是不是会被用户点击。 这时候离“大数据”这个词流行还有两年，但百度那时候的数据即使现在来看仍然是大的。我的任务是如何高效的利用数百台机器快速的在数十T的数据上训练出模型。当时产品用的算法基于LBFGS，我于是想是不是可以换个收敛更快的算法。没几天就找到个不错 。但实现上发现了各种问题，包括性能，收敛，和稳定性。而且那时有的就是一个裸的Linux和很老版本的GCC，什么都是需要从头开始写。花了大量时间做系统优化，算法改动，和线上实验，最后一年后在整个广告流量上上了线。现在再回顾会觉得整个一年时间都在打磨各种细节上，有时候为了5%的性能提升花上上千行代码。这些都导致算法过于复杂，有过度设计之嫌。但深入各个细节对个人能力提升很大，而且很多遇到的问题成为了之后研究方向的来源。一些算法上的思考曾写在这里，当时候深度学习刚刚出来，冥冥中觉得这个应该是大规模机器学习的未来，不过真正开始跟进是好几年以后了。11年12月中的时候突然心血来潮随手把材料重新寄了一遍，就选了CMU和MIT，结果意外收到了CMU的offer。有天在百度食堂同凯哥（余凯）和潼哥（张潼）吃饭，我说收了CMU offer，在纠结去不去。他们立马说去跟Alex Smola啊，他也要加入CMU了，我们给你引荐下。记得是离开的前一天才开始打包行李，早上去公司开完会，中午离职，跟小伙伴打招呼说出个国，然后就奔机场了。那天北京天气特别好，完全不记得前一天雾霾刚爆了表。第一年：9/12-8/13第一年的主要事情是熟悉环境和上课。CMU课程比较重，博士需要学8门课，每门课工作量巨大。而且要求做两门课助教，做助教比上课更累。这一年上的课中对我最有用的是“高级分布式系统”。之前在上交ACM班的时候已经学过很多质量都还不错课，纯知识性的课程一般对我帮助不大。但这门课主要是读论文，然后大家讨论。不仅仅是关于知识，很多是对设计理念的领悟。大家知道对于系统而言，设计是一门艺术而不是科学，这是设计者审美和哲学理念的体现。同时系统界历史也是由一波又一波的潮流组成，了解历史的发展以及其中不断重复的规律非常有意义。那年这门课上课老师是Hui Zhang（神人之一，20多岁就在CMU任教了，学生包括了Ion Stoica，他是Spark作者Matei的导师），他有非常好的大局观，对于“Why”这个问题阐述非常到位。我是通过这门课才对分布式系统有了比较清晰的认识。两年之后我偶然发现我的一篇论文也在这门课的阅读列表里了，算是小成就达成 。除了上课，更重要是做研究。我去CMU的时候Alex那时还在Google，而且没经费，所以把我丢给了 Dave Andersen。于是我有了两个导师，一个做机器学习，一个做分布式系统。前面半年都是在相互熟悉的过程。我们每周会一起聊一个小时。前半年因为Alex不在，所以我们只能视频。Alex那边信号经常不好，而且他有德国和澳大利亚口音，外加思维跳跃，经常我听不懂他说啥只能卖萌傻笑。还是靠着Dave不断的打字告诉我Alex说了什么才度过了前几次的会。两个导师风格迥异。Alex是属于反应特别快，通常你说一点，他已经想好了接下来十点，要跟上他节奏很难。一般抛出问题的时候他就想好了好几个解决方法。这时候要证明自己的想法比他的更好不容易，需要大量的沟通和实验数据支撑。我想我大概是花了两年证明了在某些方向上我的方案一般更好，所以这时候他就不那么hands-on了。Dave不会给很多想法，但会帮助把一个东西理解透，然后讲得很清楚。因为我研究方向主要是机器学习上，基本上前两年基本都是我在教Dave什么叫机器学习，而且是尽量不用公式那种教法。我的第一个研究工作是关于如果划分数据和计算使得减少机器学习求解中的网络通讯量。Alex体现了他的强项，几分钟就把问题归纳成了一个优化问题，然后我们三各自提出一个解法。我做了做实验发现Dave的算法更好。接下来两个月把算法做了很多优化，然后又做了点理论分析就把论文写了。可惜这个想法似乎有点超前，虽然我们一遍又一遍的改进写作，但投了好几个会审稿人就是不理解，或者觉得这个问题不重要。那个时候学术界已经开始吹嘘“大数据”，但我觉得其实大部分人是不懂的，或者他们的“大数据”仍然是几个GB的规模，烤U盘需要十来分钟的那种。这是我在CMU的一个工作，我觉得挺有用，但却是唯一没能发表的。当时跟我坐同一个办公室的是Richard Peng，他做的是理论研究。我经常跟他讨论问题，然后有了些想法合作了一个工作。大体思想是把图压缩的快速算法做到矩阵的低秩近似上。这个工作写了三十页公式但没有任何实验，我主要当做写代码间隙的悠闲娱乐，不过运气很好的中了FOCS。坦白说我不是特别喜欢纯理论这种，例如在bound的证明中很多大量的项直接丢掉了，导致我觉得bound特别的近似。对于做系统的人来说，最后拼的是常数。这个工作中这种大开大合的做法我觉得很不踏实。所以我觉得以后还是应该做更实在点的东西。在CMU回到了去百度前的一周七天工作无休的节奏。每周至少80个小时花在学校。如果累了就去健身房，我一般晚上12点去。不仅是我一个人，大家都很努力，例如凌晨的健身房，早3点的办公室，四处都可以见到中国或者印度学生。我那时候的室友田渊栋花在学校的时候比我多很多。那一阵子有读了很多关于优化的文章。其中对我启发最大的是Bertsekas写于80年代末的那本关于分布式计算的书。此书可以认为是MIT控制领域黄金一代研究成果总结，换到现在仍然不过时。受启发我转去研究异步算法，就是分布式下不保证数据的及时性来提升系统性能。我基于在百度期间做的算法，做了一些改进和理论分析，然后投了NIPS。投完NIPS就动身去了Google Research实习。那时候Google Brain成立不久，在“宇宙的答案”42楼，包括Jeff Dean，Geoffrey Hinton，Prabhakar Raghavan好些大牛挤在一起，加起来论文引用率能超80万。Alex跟我说，你去读读Jure Leskovec的文章，学学人家怎么讲故事。我在Google也尝试用了些用户GPS数据来对用户行为建模。可是写文章的时候怎么也写不出Jure的那种故事感，发现自己不是那块料。这篇文章因为用了用户数据，恰逢Snowden让大家意识到隐私的重要性，历经艰辛删了一半结果Google才允许发出来。有些累觉不爱。不过在Google期间我主要时间花在研究内部代码和文档上。Google的基础架构很好，文档也很健全。虽然没有直接学到了什么，但至少是开了眼界。第二年：9/13-8/14这学期上了Tuomas Sandholm的机制设计，此乃另一大神，例如最近德州扑克赢了专业选手，之前开公司也卖了上亿。不过这门课我是完完全全没学懂，连承诺的课程大作业都没怎么做出来。之后的两年里我一遇到Tuomas他都会问下有什么进展没。我只能远远看见他就绕开。NIPS被拒了，发现审稿人不懂线程和进程的区别，有点沮丧。隔壁实验室一篇想法类似但简单很多的论文倒是中了oral，所以那阵子压力很大。Alex安慰说这种事情常有发生，看淡点，然后举了很多自己的例子。之后想了想，一篇好文章自然需要有足够多的“干货”，或者说信息量， 但一篇能被接受的文章需要满足下面这个公式：文章的信息量 / 文章的易读性 < 审稿人水平 * 审稿人花的时间对于机器学习会议，因为投稿量大，所以审稿人很多自然平均水平就会下降。而且很多审稿人就花半个小时到一个小时来读文章，所以公式右边数值通常是很小，而且不是我们能控制。如果文章的信息量不大，例如是改进前面工作或者一些简单的新想法，那么公式成立的概率很大。而对于信息量大的文章，就需要努力提升易读性，包括清晰的问题设定，足够的上下文解释等等。而前面投的那篇NIPS，以及更早的那个被拒工作，就是因为我们假设了审稿人有足够多的相关专业知识，而我们塞进了太多干货使得大家都读糊涂了。即使对于已经发表的文章，上面那个公式同样可以用来衡量一篇论文的引用率。例如经常见到干货很多的文章没有什么人引用，而同时期的某些工作就是考虑了其中简单特殊情况结果被大引特引。接下来的半年我主要在做一个通用的分布式机器学习框架，是想以后做实验方便些。名字就叫parameter server，沿用了Alex 10年论文提出的名字。花了很多时间在接口设计上，做了好几个版本实现，也跑了些工业界级别的大规模的实验。不过真正花了我大量时间的是在写论文上。目标是把这个工作投到OSDI上，OSDI是系统界两大会之一。我们预计审稿人跟Dave两年前状态差不多，不会有太多机器学习和数学背景，所以需要尽量的少用公式。整整一个月就花在写论文上，14页的文章满满都是文字和示意图。不过努力没有白费，最终论文被接受了。随后又花了好几周准备大会报告上。相对于平时花一周写论文，两三天准备报告，这次在写作和报告水平上有了很大的提升。没有放进去的公式和定理投了接下来的NIPS，这次运气很好的中了。有了文章后稍微心安了点可以更自由的做些事情。寒假回了趟国，跑去百度找了凯哥和潼哥。潼哥说他最近有个想法，于是快糙猛的把实验做了然后写了篇论文投了KDD。同时期Alex一个学生也把他一个一直想让我做但我觉得这个小trick不值得我花时间的想法投了KDD，结果中了最佳论文。作报告那天我在的会场稀稀疏疏几个人，他们隔壁会场人山人海。这个使得好长一段时间我都在琢磨是不是还是要跟着导师走比较好。那时凯哥在百度搞少帅计划，觉得蛮合适就加入了。这时凯哥正带着一大帮兄弟轰轰烈烈的搞深度学习，我自然也是跳坑了。试过好几个想法后，我觉得做做分布式的深度学习框架比较对胃口。我挑了CXXNet作为起点，主要是因为跟天奇比较熟。同时也慢慢上手跑一些Alexnet之类的实验。我是因为少帅计划才开始开始做深度学习相关项目，凯哥也很支持我做开源开发回馈社会而不是只做公司内部的产品。但在少帅期间并没有做出什么对公司有帮助的事，很是惭愧。第三年：9/14-8/15回CMU后Alex看见深度学习这么火，说我们也去买点GPU玩玩。但我们比较穷，只能去newegg上掏点便宜货。这个开启了轰轰烈烈的机器折腾之旅。整个一年我觉得我都在买买买装装装上。最终我们可能就花了小几万刀攒出了一个有80块GPU的集群。现在想想时间上花费不值得，而且为了图便宜买了各种型号的硬件导致维护成本高。但当时候乐在其中。具体细节可以看这篇blog这一年写了很多parameter server代码，同时花了很时间帮助用户使用这些代码。很难说做得很成功，现在想想有几个原因。写代码时我会优先考虑性能和支持最多的机器学习算法。但正如前面的错误，忽略了代码的易读性，从而导致只有少部分人能理解代码从而做一些开发。例如我尝试让Alex组的学生来使用这些代码，但其中的各种异步和callback让他们觉得很是难懂。其次是没有人能一起审核代码接口，导致这些接口有浓浓的个人味道，很难做到对所有人都简单明了。不过幸运的是找到一帮志同道合的小伙伴。最早是我发现天奇在写xgboost的分布式启动脚本，我看了看发现挺好用，就跟他聊了聊。聊下的发现有很多基础部件例如启动脚本，文件读取应该是可以多个项目共同使用，而不是每个项目都造一个轮子。于是跟天奇在Github上创建了一个叫DMLC的组织，用来加强合作和沟通。第一个项目是dmlc-core，放置了启动和数据读取代码。DMLC的第二个新项目叫wormhole。想法是提供一系列分布式机器学习算法，他们使用差不多相同的配置参数来统一用户体验。我把parameter server里面的机器学习相关算法移植了过来，天奇移植了xgboost。Parameter server原有的系统代码简化到了ps-lite。中途我听百度同学说factorization machine（FM）在广告数据上效果不错，所以在wormhole上实现了下。针对分布式做了一些优化，然后投了WSDM。前后没有花到一个月，但神奇的竟然拿了最佳论文提名。在wormhole的开发中发现一个问题，就是各个算法还是挺不一样，他们可以共用一些代码，但又有各自的特点，需要特别的优化来保证性能。这样导致维护有些困难，例如对共用代码的改动导致所有项目都要检查下。总结下来觉得一个项目最好只做一件事情。所以天奇把xgboost代码放回原来项目，我也把FM独立出来一个项目叫difacto。通过一系列的项目，我学到的一点是，以目前的水平和人力，做一个通用而且高效的分布式机器学习框架是很难的一件事情。比较可行的是针对一类相似的机器学习算法做针对性的项目。这个项目的接口必须是符合这类算法结构，所以做算法开发的同学也能容易理解，而不是过多暴露底层系统细节。真正的让DMLC社区壮大的项目是第三个，叫做MXNet。当时的背景是CXXNet达到了一定的成熟度，但它的灵活性有局限性。用户只能通过一个配置项来定义模型，而不是交互式的编程。另外一个项目是zz和敏捷他们做的Minerva，是一个类似numpy的交互式编程接口，但这个灵活的接口对稳定性和性能优化带来很多挑战。我当时候同时给两个项目做分布式的扩展，所有都有一定的了解。然后一个自然的想法是，把两个项目合并起来取长补短岂不是很好。召集了两个项目的开发人员讨论了几次，有了大致的眉目。新项目取名MXNet，可以叫做mixed-net，是前面两个名字（Minerva和CXXNet）的组合。放弃开发了几年的项目不是容易的决定，但幸运的是小伙伴都愿意追求更好，所以 MXNet进展挺顺利。很快就有了可以跑的第一个版本。第四年：9/15-8/16前半年为difacto和MXNet写了很多代码。其实一开始的时候我觉得difacto更重要些，毕竟它对于线性算法的提升非常显著而且额外的计算开销并不大，这对广告预估之类的应用会有非常大的提升。但有次遇到Andrew Ng，我跟他说我同时在做这两个项目，他立即告诉我我应该全部精力放在MXNet上，这个的未来空间会大很多。我一直很佩服Andrew的眼光，所以听了他的建议。11月的时候MXNet就有了很高的完成度。写了个小论文投去了NIPS的workshop也算是歇了口气。但随后就听到了TensorFlow（TF）开源的消息。由 Jeff Dean领导大量全职工程师开发，Google庞大的宣传机器支持，不出意料迅速成为最流行的深度学习平台。TF对我们压力还是蛮大，我们有核心开发者转去用了TF。不过TF的存在让我领悟到一点，与其过分关心和担忧对手，不如把精力集中在把自己的做得更好。NIPS的时候MXNet的小伙伴聚了一次，有好几个我其实是第一次见面。随后Nvidia的GTC邀请我们去做报告。在这两次之间大家爆发了一把，做了很多地方的改进。同时用户也在稳步增长。我们一直觉得MXNet是小开发团队所以做新东西快这是一个优势，但随着用户增加，收到抱怨说开发太快导致很多模块兼容性有问题。有段时间也在反思要在新技术开发速度和稳定性之间做一些权衡。这时一夜之间大数据不再流行，大家都在谈深度学习了。我也花了很多力气在宣传MXNet和争取开发者上。包括微博知乎上吼一吼，四处给报告。在大量的点赞声中有些陶醉，但很多中肯的批评也让我意识到重要的一点，就是应该真诚的分享而不是简单的吹嘘。因为大量的媒体介入，整个深度学习有娱乐化的趋势。娱乐化的报道很多都只是一些简单信息，（有偏见）的观点，而没有太多干货。不仅对别人没营养，对自己来说也就是满足虚荣心。与其写这些简单的水文，不如静下心做一些有深度的分享，包括技术细节，设计思路，和其中的体会。此类分享一个容易陷入的误区是只关注自己做了什么，结果多么好。这些确实能证明个人能力，对于想重复这个工作的人来说会有很大帮助。但更多的人更关心的是适用范围在哪里，就是什么情况下效果会减弱；为什么结果会那么好；insight是什么。这个需要更多深入的理解和思考，而不是简单的展示结果。这个对写论文也是如此。只说自己的结果比基线好多少只能说明这是不错的工作，但结果再好并不能意味这个工作有深度。深度学习的火热导致了各种巨资收购初创司不断。Alex也有点按耐不住， 结果是他，Dave，Ash（曾经是YahooCTO）和我合伙弄了一家公司，拿了几十万的天使投资就开工了。Alex写爬虫，Dave写框架，我跑模型，风风火火干了好一阵子。可惜中途Dave跑路去跟Jeff做TF了。后来这个公司卖给了一个小上市公司。再后来我们觉得这个公司不靠谱也就没考虑跟他们干了。第一次创业不能说很成功，从中学到几点：一是跟教授开公司一定要注意有太多想法但没死死的掐住一个做，二是找一堆兼职的博士生来干活不是特别靠谱，尤其是产品不明确的时候，三是即使要卖公司也一定要做一个产品出来。我们卖的时候给很多人的感觉是团队人太强但产品太弱，所以他们只想要人而已。四是试图想要通过技术去改变一个非技术公司是很难的事情，尤其是过于新的技术。然后我们就奔去折腾下一个公司。Ash早财务自由所以想做一个大的想法，但这时Alex刚在湾区买了个房，有还贷压力，他选择去了Amazon。于是算是胎死腹中。随后收到Jeff的邮件说有没有兴趣加入Google，自然这是一个很诱人的机会。同时我觉得小的创业技术性强的公司是不错的选择。但从MXNet的发展上来书，去Amazon是最好选择之一。自己挖的坑，总是要自己填的。所以我以兼职的身份去了Amazon，领着一帮小弟做些MXNet开发和AWS上深度学习的应用。第五年：9/16-2/17早在15年初Alex就表示我可以毕业了，但作为拖延晚期患者，迟迟没开始准备。这时候感觉不能再拖了，于是窝在湾区写毕业论文。Alex觉得毕业论文应该好好写，但我对把前面都做完的东西再捣鼓写写实在是没兴趣，尤其是加州太阳那么好，大部分时间我都是躺在后院晒太阳。此时B站已经完全被小学生占领，这边买书也不方便，无聊之余刷了很多起点。然后还写了篇炼丹文。CMU要求答辩委员会需要有三个CMU老师和一个学校外的。除了两个导师外，我找了Jeff Dean和刚加入CMU的Ruslan Salakhutdinov. 结果Russ随后就加入了Apple，整个委员会的人都在湾区了。Jeff开玩笑说可以来Google答辩。可惜跟CMU争吵了好多次，还是不允许在校外答辩，而且必须要三个人委员会成员在场。这些限制导致答辩一拖再拖，而且临时加了Barnabas Poczos来凑人数。最后是Jeff的助理快刀斩乱麻的协调好了时间把所有东西定好了。没有她估计我还可以拖几个月。答辩的时候是一个比较奇异的状态，委员会里有Google, Amazon, Apple的AI负责人，剩下两个和我又分别在这三家公司兼职。这个反应了当下AI领域学术界纷纷跑去工业界的趋势。不过答辩这个事情倒是挺简单，跟平常做个报告没什么太多区别。一片祥和，即使Russ问了MXNet和TensorFlow哪家强这个问题也没有打起来。答辩后我问委员会说，我在考虑找个学术界的工作，有什么建议没。大家介绍了一大堆经验，不过大家都强调的一个重点是：学术界好忙好忙，而且好穷好穷，工业界的薪水（就差指自己脸了）分分钟秒掉CMU校长。你要好好想。总结答辩前一天的晚上，我想了两个问题，一个是“博士收获最大的是什么”，另一个是“如果可以重来会怎么办”。对于第一个问题，这五年时间自然学到了很多东西，例如系统的学习了分布式系统，紧跟了机器学习这五年的发展，写文章做幻灯片做报告水平有提升，代码能力也加强了些。自信上有所提高，觉得既可以做一流的研究，也可以写跟大团队PK的代码。只要努力，对手没什么可怕的。但更重要的是博士的五年的时间可以专注的把一些事情从技术上做到最好，做出新的突破，这个氛围没有其他地方能给予。第二个问题的一个选项是当年留在国内会怎么样？ 当年百度的伙伴们多数现在都做得很好，都在引领这一波AI的潮流，甚至有好几个创造了上亿价值的公司。所以从金钱或者影响力角度来看，一直在工业界也不差，说不定现在已经是土豪了。不过我觉得还是会选择读博。赚钱以后还有大把时间可以，但是能花几年时间在某个领域从入门到精通甚至到推动这个领域发展的机会就一次。站在这个领域的高点会发现世界虽然很大，但其实其他领域也使用差不多的技术，有着同样的发展规律。博士期间领悟到的学习的方法可以在各个方向上都会大有作为。更重要的是理想和情怀。人一生要工作五十年，为什么不花五年来追求下理想和情怀呢？
Character.ai是一个由前谷歌LaMDA开发者创建的聊天机器人应用，允许用户与定制的虚拟角色互动，这些角色基于各种人物或原创设计。用户可以设定角色个性并参与多样化的对话，从辅助写作到模拟对话等。该平台支持多种语言，并禁止浪漫或色情主题的对话。网站地址：character.ai该程序由谷歌对话编程语言模型（LaMDA）的前开发者诺姆·沙泽尔（Noam Shazeer）和丹尼尔·德·弗雷塔斯（Daniel De Freitas）共同开发。利用该程序，用户可以创建“虚拟人物”，精心设计他们的“个性”，设置特定的参数，然后将他们发布到社区，供其他人聊天。许多角色可能是基于虚构人物或名人，另些角色完全原创；有些是为了某些目的而制作的，如协助写作或成为一个基于文本的冒险游戏；可使用角色作为辩论陪练，或者把埃隆·马斯克变成自己的助手，让“他”起草工作邮件。这项服务可以让用户与超过1000万个角色聊天--任何活着或死去的人的虚构版本。对话可以是一对一的，也可以是用户和一群角色之间的群聊。有一件事用户不能做：与角色建立浪漫或色情的关系。
EduChat（https://www.educhat.top）是一个教育领域对话大模型，由华东师范大学计算机科学与技术学院的 EduNLP团队 研发，旨在助力实现因材施教、公平公正、富有温度的智能教育，服务于广大老师、学生和家长群体。本次开源的EduChat 1.0版本在4月底EduChat 0.1版本的基础上，除了对基础能力进行增强外，结合实时检索，在心理学和教育学理论指导下，对开放问答、作文批改、启发式教学和情感支持等教育特色功能进行进一步强化。目前，EduChat 1.0版本已上线开源，相关代码、数据和模型参数已在 Github 和 Hugging Face 等平台开放，促进大模型在智能教育领域的研究和应用发展。体验地址：www.educhat.top/edu-chat/#/edu-chat/?functionUsed=teacher-guide开源地址：github.com/icalk-nlp/EduChat Loading...
Ollama 本地大模型运行框架之大模型搭建实践
当你想要真正动手体验一把本地大模型时，却发现需要获取模型权重、克隆项目代码、执行模型量化、设置环境变量、构建可执行文件等诸多环节才能以命令行的形式问一个测试问题，更不要提数十个可能需要手动调整的参数了。Ollama——一个简明易用的本地大模型运行框架。随着围绕着 Ollama 的生态走向前台，更多用户也可以方便地在自己电脑上玩转大模型了很长一段时间里，本地大模型和基于 llama.cpp 的应用都局限于少数极客和研究者的圈子，较高的上手门槛将许多普通人拒之门外。Ollama 很好的解决了这个问题！Ollama地址：ollama.com根据电脑系统(macOS/Linux/Windows)下载： ollama.com/downloadgithub地址：github.com/ollama/ollamaLoading...以中文微调过的 Llama2-Chinese 7B 模型为例，下述命令会下载接近 4GB 的 4-bit 量化模型文件，需要至少 8GB 的内存进行推理，推荐配备 16GB 以流畅运行。ollama pull llama2-chinese下载完成后，使用 run 命令运行模型，可直接将消息附在命令后，或留空进入对话模式，对话模式内置了几个以斜杠引出的命令：# 单条输入 ollama run llama2-chinese "天空为什么是蓝色的？" 如图问答内容：你好？\ 你知道ChatGPT吗？
Champ 三维参数导引下可控一致的人体图像动画生成项目。只需要一张照片，就能让照片里的人物动起来。项目地址:github.com/fudan-generative-vision/champLoading...MuseV 基于视觉条件并行去噪的无限长度和高保真虚拟人视频生成项目。项目地址：github.com/TMElyralab/MuseVLoading...BrushNet 一个具有分解双分支扩散的图像修复模型。对于画面上的 Mask 区域（蒙版，存在缺失的部分），BrushNet 可以对其进行修复。此外，BrushNet 对于任何已经预先训练好的扩散模型都可以实现“即插即用”。项目地址：github.com/TencentARC/BrushNetLoading...MediaCrawler 这是一款开源的爬虫项目，用于爬取小红书、抖音、快手、B站、微博的视频、图片、评论、点赞、转发等信息。项目地址：github.com/NanmiCoder/MediaCrawlerLoading...
prompt.newzone.topIMGPrompt,极简的图像提示词编辑器，专注于提示词文本组合,可用于Stable Diffusion和Midjourney。