【每日一书】5.19 分布式机器学习-算法,理论与实践

即刻链接: https://web.okjike.com/originalPost/628614f7150c9c7214696b32

5.19 分布式机器学习-算法,理论与实践

这本书入手于2018年11月17日,当年12月10日读完。可以作为分布式机器学习的入门书。

书中介绍了分布式机器学习框架的一些基础知识,包括单机优化,数据模型并行,通信机制,分布式机器学习算法和一些系统。系统主要介绍了基于IMR,基于参数服务器和基于流的机器学习系统。

TensorFlow 在2017年发布eager的时候,我在现场,觉得这是一个变革,回去就做了一个分享。 当时的PyTorch还不成气候,没想到今天会有如此地位。

当时我还去看过TensorFlow的代码,想想能不能贡献点代码。那个时候,NLP训练数据量不算多,很多时候一台机器+fasttext搞定,对分布式训练不了解,就去读了一下代码。

分布式机器学习主要有三个场景:
1. 计算量太大
2. 训练数据太多
3. 模型规模太大

现在就NLP的发展,像BERT和其变种,还有GTP-3这种面向生成的大模型,上面三个场景都占了。

BERT出来的时候,还能折腾折腾,8块V100跑一跑,像后面的大模型就只有等API了。我也变成做AI落地的了。

像IMR的系统,同步+数据并行,Spark MLlib都算比较简单的,属于大数据平台变化过来的。

基于参数的服务器,目前还是有很多开源项目的,Multiverso、PS Lite、KunPeng等等。

基于流的,目前是主流,一个有向无环图定义,可以灵活的数据并行,模型并行或者混合并行。

像Tesorflow、Pytorch、Paddle都属于基于流的,后面的趋势就是支持大规模训练的框架,像OneFlow就是以兼容Pytorch,一键分布式加速为亮点。

还有一个趋势,就是云原生的训练架构,把训练任务完全微服务化。后面看看发展吧。

我自己有个FAI的框架想法,目前还处于调研和开发阶段,还没开源,是基于Rust来实现的一个非常简单的深度学习框架,希望后面能完成和开源出来。

分布式机器学习框架论文很多,没法推荐。我就推荐一下,李沐老师在B站讲了两节课,讲PS架构和最新的Google Pathways架构,可以看看。

1.参数服务器(Parameter Server)www.bilibili.com
2.Pathways www.bilibili.com

【每日一书】5.18 人工智能与游戏

即刻链接:https://web.okjike.com/originalPost/6284c15c360fb4affaec764e

#每日一书# 加入的第一天,搞个新玩法。 随手拍一张,手上正在读的书或者身边已经读过的书,然后说说与这本书的故事。

5.18 人工智能与游戏

入手时间2021年8月,目前粗略读过一遍,正在根据这本书的内容写GameAI专栏。

专栏目前有9篇,书中内容太概括,一页内容就可以花很多时间去扩展,专栏有种给自己挖坑的感觉。

为什么读这个? 因为要做GameAI方向的产品,对游戏AI的传统方法不怎么熟悉,想有一个整体的视角。

这本书可能今年才能读完,因为还要为专栏做一个演示程序,包括了传统的方法,机器学习算法,深度学习和强化学习的一些demo,这工作量不小。

除了这本关于游戏AI的书外,我还有另外3,4本书,还有一些论文,后面再介绍。

《原则》笔记——生活原则4:理解人与人大不相同

生活原则4: 理解人与人大不相同

因为人的大脑结构不同,人和人天生有擅长和不擅长的差别。

读书厉害的人通常不等于需要的聪明人。想招聘的人是独立的思考者,有创造力,概念性强,常识性强

4.1 明白你与其他人的思维方式能带来的力量
a.我们拥有各种天生特征,既可能帮助自己也可能伤害自己,取决于如何应用。

大多数特征都是“双刃剑”,可能带来好处和害处。特征越极端,它可能带来的好处或害处就越极端。

  • 创造性和目标导向的人: 擅长新主意,能会低估日常生活细节的价值
  • 任务导向的人: 善于处理细节,但是可能会低估创造性的价值


4.2有意义的工作和有意义的人际关系不仅是我们做出的美好选择,而且是我们天生的生理需求

脑的构造先天使人需要并享受社会合作。人脑的进化史是从本能、关注自身发展为更抽象、更关注普遍的事物。

所以人都是需要生活在社会中,都需要社交。


4.3理解大脑里的主要斗争,以及如何控制这些斗争,以实现“你”的愿望
a.要明白,意识与潜意识在不断斗争。

我们的灵感大爆发往往就是从潜意识区域“喷出”的。我们经历这些创造性突破的时刻,通常是在放松、不试图与它们所在的大脑区域(通常是新皮层)沟通的时候。

大脑里面有两个你在打架。能激发创意的是,是放松的时候,包括淋浴和冥想。

我每天冥想试试。

b.要知道最常发生的斗争是情绪和思考的斗争。

情绪: 主要是由潜意识性的杏仁核控制的

理性思考: 主要是由意识性的前额皮层控制的

情绪其实就是一种被杏仁核绑架了,遇到危险,与人争论的生理反应。主要是我们不能放任本能反应,因为可能会反应过度。

确实,我们需要控制本能反应,比如演讲紧张,投资等等。


c.调和你的情绪和思考。

需要引导个人进化,是需要经常思考,为什么会被杏仁核绑架。当时出现了什么,然后还要采取措施去避免。 比如,很多人会控制不了情绪,暴跳如雷,打人等,也是被绑架了。


d.善择你的习惯。

习惯是由大脑底部的基底核驱动的,那是一块高尔夫球大小的组织。基底核控制着你的行为,但它藏得很深,本能地运行,所以你意识不到它。

想要养成习惯,需要反复练习,产生自控力。你需要明白大脑是如何工作的,养成更好的习惯。

要认识到习惯是怎么产生的。 习惯其实是一种惯性,把一直做的事情继续做下去,这个时间是18个月。


e.坚持友善地训练“较低层次的你”,以养成好的习惯。

需要友善的训练本能,情绪化的自我,训练它才能养成好的习惯。而好的习惯是不需要想就可以执行的,这也算是一种本能。


f.理解右脑思维和左脑思维的差别。

左脑: 顺序推理,线性思维

右脑: 识别主题,发散思维。


g.理解大脑可以改变的程度。

近年来的研究显示,从身体锻炼到学习冥想,很多种练习都能给人脑带来物理性和生理性变化,从而影响人的思维与记忆能力。

改变的最好方法是做心理练习。

4.4认识自己和他人的特性
a.内向与外向。

  • 内向: 聚焦于内向世界,从思想,记忆和经验中汲取能量。
  • 外向: 聚焦于外部,从与人相处中汲取能力。


b.直觉与感知。

  • 直觉者: 全局
  • 感知者: 细节


c.思考与感觉。

  • 思考者: 理性分析客观事实,考虑所有与具体情况相关的已知、可证明因素,富有逻辑性地决定如何行动
  • 感觉者: 关注人与人之间的和谐,他们最好从事一些需要很多同理心、人际沟通、关系构建的工作


d.计划与发觉。

  • 计划者: 喜欢专注于计划并遵行
  • 发觉者: 观察情况,然后往前分析原因,寻找应对办法。他们还会看到可以对比、选择的多种可能性,经常因看到太多可能性而无所适从


e.创造者、推进者、改进者、贯彻者与变通者

  • 创造者:提出新想法,新概念。 喜欢非结构化,抽象,喜欢创新和不走寻常路。
  • 推进者: 传递这些新想法并推进。他们喜欢感觉和人际关系,管理各种人的因素。他们非常善于激发工作热情。
  • 改进者: 挑战想法。他们分析计划以寻找缺陷,然后以很客观、符合逻辑的方式改进计划。他们喜欢事实和理论,以系统性的方式工作。
  • 贯彻者也可以叫作执行者: 他们确保重要的工作得到执行,目标被实现。他们关注细节和结果。
  • 变通者是以上4种类型的结合。他们能根据特定需求调整自身,并能从各种各样的视角看待问题。


f.关注任务与关注目标

关注任务: 善于管理没有什么变化,按部就班的事物。

关注目标: 能看到逐渐变化的大局,也更有可能做出有意义的改变,预估未来的事件。最适合创造新东西(新组织、新计划等),管理频繁变化的组织


g.职场人格量表。

主要关注一些品质比如: 毅力、独立性、抗压能力、分析能力等,预测员工行为和工作适配性、满意度。

是为了了解员工的一些人格特质。


h.塑造者是能从构想一路走到构想实现的人。

塑造者: 能提出独特和有价值的愿景,并以美妙的方式实现愿景(通常是在他人的质疑之下)。塑造者既能看到全局,也能看到细节。

塑造者通常有一些共同特征:极富好奇心;有把事情弄清楚的强烈冲动;近乎叛逆地独立思考;需要宏大别致的梦想;务实并坚毅地排除万难、实现目标;了解自己和其他人的长处和短处,所以能协调团队来实现目标。也许更重要的是,他们能同时持有相互冲突的想法,并从不同角度来看待这些想法。他们通常喜欢和其他真正的聪明人一起探索,能在全局和细节之间自如地来回跳跃,并相信二者同样重要。

你最需要的勇气不是驱使你战胜别人的勇气,而是不管其他人对你有何冀望,你始终坚持做最真实的自我的勇气。


4.5无论你要实现什么目标,让合适的人各司其职以支持你的目标,是成功的关键
a.管理你自己,并协调其他人实现你的目标。

管理你的本能,养成好的习惯。然后让各种不一样的人帮助你实现你的目标。

《原则》笔记——生活原则3:做到头脑极度开放

生活原则3: 做到头脑极度开放


3.1 认识你的两大障碍

自我意识和思维盲点

  • a.理解你的自我意识障碍。

自我意识障碍是指潜意识里的防卫机制,让你很难接受自己的错误和弱点。

  • b.“两个你”在争夺对你的控制权。

两个你: 有逻辑和有意识的你 , 情绪化和潜意识的你

主要是很多时候,我们并不意识到大脑里面那个低层次的你。例子: 遇到有人和你想法不一样的时候,你会视为攻击。

  • c.理解你的思维盲点障碍。

主要是你的思维方式有时会阻碍你准确看待事物。人类无法理解自己看不到的东西。这种容易导致你不明白别人看待事物的方式,也不会探求其他人的想法,你只想告诉对方你认为正确的想法。 这就是头脑封闭的人带来的先入为主。

适应与进化的三种途径:

  1. 训练自己的头脑以反直觉的方式思考
  2. 利用辅助机制
  3. 在自己的短板上,依靠擅长者的帮助


3.2 奉行头脑极度开放

头脑极度开放是一种能力,可以有分析各种不同的观点和不同的可能性。

主要是要承认自己的盲点,并以开放的心态接受其他人可能在某件事情上看得比你更准。

  • a.诚恳地相信你也许并不知道最好的解决办法是什么,并认识到,与你知道的东西相比,能不能妥善处理“不知道”才是更重要的。

如果你不在”不知道“的状态下探索一段时间,就不可能做出好的决策。提出正确的问题并向其他聪明人请教很重要。

  • b.认识到决策应当分成两步:先分析所有相关信息,然后决定。

需要考虑各种信息,包括对立的观点,这只会让你视角更广。人很容易不考虑那些对已经下决策不符合的信息。

  • c.不要担心自己的形象,只关心如何实现目标。

要承认自己没办法,致力于找出最佳决策。要承认自己的缺陷和盲点,并试图了解更多,以克服缺陷和盲点。

  • d.认识到你不能“只产出不吸纳”。

不学习,产出的东西也不好,所以得先学习。

  • e.认识到为了能够从他人的角度看待事物,你必须暂时悬置判断,只有设身处地,你才能合理评估另一种观点的价值。

头脑开放是指高度接受自己错了的可能性,还要鼓励其他人告诉你,错在哪里。

  • f.谨记,你是在寻找最好的答案,而不是你自己能得出的最好答案

最好的答案不一定是你想出来的,你可以在其他人那里找到。你拥有最佳答案的可能性其实很小,如果你拥有最佳答案,但是不问过其他人之前,这个答案也不够确信。 知道你自己不知道,是非常重要的。

  • g.搞清楚你是在争论还是在试图理解一个问题,并根据你和对方的可信度,想想哪种做法最合理

如果双方水平相当,那就是争论。如果一方比另一方有知识,那就应该让一方当老师。

可信的人的特征:

  1. 反复在相关领域成功找到答案
  2. 被问责的情况下能对自己的观点做出很好的解释

3.3 领会并感激:深思熟虑的意见分歧

比如两个的人观点相反,那可能有一个人是错的。 你需要搞明白是不是你错了,这对你有好处。

你应该提问,进行心平气和的讨论,尊重对方,保持理性。发生分歧时变得愤怒毫无意义。 学到东西之后改变想法的人是赢家。

方法: 复述一下和你有分歧的那个人的观点,确保对方认为你理解的是对的。

3.4和可信的、愿意表达分歧的人一起审视你的观点

a.为最坏的情况做准备,以尽量使其不那么糟糕。

专家也会犯错,需要以开放的心态与可信的人一起审视问题,你可以大幅提高你做正确决策的概率。


3.5识别你应当注意的头脑封闭和头脑开放的不同迹象

  1. 头脑封闭的人-> 不喜欢看到自己的观点被挑战

头脑开放的人-> 更想了解为什么会出现分歧,值得花时间去考虑对方的观点,以确定自己是否忽略一些信息或者犯错。

2. 头脑封闭的人 ->更喜欢陈述而不是提问。

头脑开放的人 -> 真诚的相信自己可能是错的,提出真诚的问题。

3. 头脑封闭的人 -> 更关心是否被理解,而不是理解他人。

头脑开放的人 -> 经常觉得有必要从对方的视角看事物。 (换位思考)

4. 头脑封闭的人 -> 经常说: 我可能错了,但是这是我的观点。 这其实是一种敷衍,用来坚持自己的观点还觉得自己很开明。

头脑开放的人 -> 知道何时做陈诉,何时提问。

5. 头脑封闭的人 -> 阻挠其他人的发言。 主要表现为:不给对方留空间说话。

头脑开放的人 -> 总是喜欢倾听而不是发言,他们鼓励其他人发表观点。

6.头脑封闭的人 -> 很难同时持有两种想法,他们想让自己的观点独大,挤掉别人的观点。

头脑开放的人-> 会考虑他人的观点,保留自己深入思考的能力,他们会同时思考两个人或者更多人相互冲突的概念,反复权衡其相对价值。

7. 头脑封闭的人-> 缺乏深刻的谦逊意识。谦逊来自人的失败经历,失败让人以一种开明心态积极了解自己不知道的东西。

头脑开放的人 -> 看待事物时,时刻在心底担忧自己可能是错的。

3.6理解你如何做到头脑极度开放

  • a.经常利用痛苦来引导自己进行高质量的思考。

当某个观点受到了挑战的时候,你会产生心理痛苦。这个痛苦可能说明你是错的,你需要以高质量的方式来思考这个问题。 当你出现这些情绪的时候,你需要来控制自己的行为,多练习来引导自己头脑开放,深度思考。

  • b.将头脑开放作为一种习惯。

如果你有愤怒感,挫败感,就提醒自己,冷静下来思考,沉思熟虑来看待问题,这样你的那些情绪都会消失,这个时候你的头脑开放的习惯就养成了。

  • c.认识自己的思维盲点。

记录下来,你经常在哪些方面因为看不到别人看到的东西而做出的糟糕决策,也可以请人来监督你。当你再在那些方面做决策的时候,你就明白你在大冒险,得多注意。

  • d.假如很多可信的人都说你正在做错事,只有你不这么看,你就要想想自己是不是看偏了。

你需要变成提问模式,看看可信度,还可以引入第三方来评判。

  • e.冥想。

冥想可以从更高的层次看问题,可以让人保持平静,使人变得富有创造力。

  • f.重视证据,并鼓励其他人也这么做。

你需要训练自己,重视证据,从哪些事实得到你的观点的。也需要监督别人也提供证据。

  • g.尽力帮助其他人也保持头脑开放。

理性的看待问题,并指出别人观点自身观点的证据。大家一起来探索事实。

  • h.使用以证据为基础的决策工具。

证据需要不被情绪左右,这是决策工具的基础。

  • i.知道什么时候应当停止为自己的观点辩护,信任自己的决策程序。

你独立思路,并为自己相信的观点辩护,但是你也得知道,在什么样的情况下,你需要停止辩护。

比如: 你所有可信的人都站在你的反面,你孤注一掷了,这可能说明这个是你的盲点。

《原则》笔记——生活原则2:用五步流程实现你的人生愿望

生活原则2: 用五步流程实现你的人生愿望

  1. 有明确的目标。
  2. 找到阻碍你实现这些目标的问题,并且不容忍问题。
  3. 准确诊断问题,找到问题的根源。
  4. 规划可以解决问题的方案。
  5. 做一切必要的事来践行这些方案,实现成果。


2.1 有明确的目标

a.排列优先顺序:尽管你几乎可以得到你想要的任何东西,但你不可能得到你想要的所有东西。

选择一些东西,就会放弃一些东西。 很多人害怕为了更好的东西而放弃好东西。


b.不要混淆目标和欲望。
合理的目标才是你真正需要实现的东西。

c.调和你的目标和欲望,以明确你在生活中真正想要的东西。

明确真正想要的东西,需要调整你的欲望来追求真正的目标。


d.不要把成功的装饰误认为成功本身。

要追求快乐的东西,而不是物质。


e.永远不要因为你觉得某个目标无法实现就否决它。

要所认识的无法实现只是现在的判断,一旦你开始追求你就会学到很多。


f.谨记伟大的期望创造伟大的能力。

不要把目标只限定为明知自己能实现的东西,需要一定的挑战性。

g.如果你拥有灵活性并自我归责,那么几乎没有什么能阻止你成功。

灵活性是指你能够接受别人的教诲,自我归责则是因为自己的原因导致失败,而非怨天尤人。


h.知道如何对待挫折和知道如何前进一样重要

面对挫折,你的任务是做出尽可能好的选择。就是保住你的成绩,尽量减少损失。


2.2 找出问题,并且不容忍问题
a.把令人痛苦的问题视为考验你的潜在进步机会。

类似于把困难当做进步的机会,能够从中学到更多的东西,自我成长。


b.不要逃避问题,因为问题根植于看起来并不美好的残酷现实。
不思考,会让你更焦虑。所以不要逃避问题,要面对参考现实。需要承认弱点并克服弱点。

c.要精准地找到问题所在。

困难需要针对下药,所以需要知道问题的关键。


d.不要把问题的某个原因误认为问题本身。

你必须知道问题是什么。


e.区分大问题和小问题。
时间有限,需要对问题进行区分,确保你解决的问题是大问题,能够带来大的回报。同时需要对小问题警觉,不要让小问题变成大问题。

f.找出一个问题之后,不要容忍问题。

不要容忍问题一直存在,不要当鸵鸟。需要拿勇气去战胜它。


2.3 诊断问题,找到问题的根源

a.先把问题是什么弄明白,再决定怎么做。

常见错误是一瞬间就直觉的认为一个问题的关键并提出解决方案。这种对待问题的方法是不对的,诊断问题思考解决方案都是需要规划的。需要的是,找出更多的信息,找到问题的关键点。


b.区分直接原因和根本原因。
只有消除根本原因才能真正解决问题,所以需要区分疾病和症状。

c.认识到了解人(包括你自己)的特性,有助于对其形成合理预期。

了解自己,也了解他人。


2.4 规划方案
a.前进之前先回顾。

先回顾以前经历了什么,然后再设定目标。


b.把你的问题看作一部机器产生的一系列结果。
思考如何改变才能创造更好的结果。

c.谨记实现你的目标通常有很多途径。

你需要的找出一条有效的路径就行了。


d.把你的方案设想为一个电影剧本,然后循序渐进地思考由谁来做什么事。
你需要从总体出发,一步一步落实具体的任务和时间,直到所有事情都归位。

e.把你的方案写下来,让所有人都能看到,并对照方案执行。
把具体的方案写下来,要非常详细的写明,谁在何时完成什么样的任务。

f.要明白,规划一个好方案不一定需要很多时间。

规划应该大于行动,规划是确保你将来做的事情是有效的。

2.5 坚定地从头至尾执行方案
a.规划做得再好,不执行也无济于事。

执行方案需要很强的自律,需要遵守方案。如果不能遵守,你需要反思,为什么会迷失目标。


b.良好工作习惯的重要性常被大大低估。
好的工作习惯,比如合理排序事项,确保每一项都井然有序是非常重要的。

c.建立清晰的衡量标准来确保你在严格执行方案。

理想的做法是让别人可以客观评价和报告你的进度。没有完成目标的时候,你需要诊断和解决问题。需要规划解决方案和确保方案执行。


2.6 谨记:如果你找到了解决方案,弱点是不重要的

a.考察你犯错误的类型,并识别你通常在五步流程中的哪一步上做得不好。

这五步的每一步对人的要求都不一样。你需要的是识别你犯错的类型,然后归类到里面的哪一步,然后通过别人的帮助来解决。你需要的是解决方案。


b.每个人都至少有一个最大的弱点阻碍其成功,找到你的这个弱点并处理它。

你需要把你最大的弱点写下来,然后写明原因。你需要消除或者规避这个弱点,这会让你的人生大大改变。

成功两条路:

  1. 自己拥有成功所需的要素
  2. 从别人哪里得到成功所需要的要素。


2.7 理解你和其他人的“意境地图”与谦逊性

一些人擅长把问题和解决办法搞明白,自己找到解决方案的能力很强。

一些人比其他人谦逊,头脑更开放,可能会找到比自己解决方案更强的办法。

同事拥有良好解决方案而且头脑开放的人最强大。

上面的图,你需要懂得,你在哪个点,你后面应该走哪一条路来增强自己的能力。自己的短板在哪里。

如果你头脑开放,得到别人的帮助,你会发现,几乎没有实现不了的东西。