Sillicon Valley

know this world

其实这篇博客应该在2个月之前就完成的,但是恰好赶上大论文DDL,所以在看过硅谷最后一集后一直没有动笔写,现在事情基本忙完,所以可以分享一下自己对于整个硅谷剧集的感想。我是在大三下学期那个五一在家无聊随意点开的,没想到会那么好看,一天时间就把第一二季看完了。当时已经确定跨考计算机专业,自然对硅谷这个互联网圣地心生憧憬,硅谷这部美剧恰好满足我的好奇心。在看完第一二季时,其实内心是蛮失望的,硅谷不...

GPipe: Efficient Training of Giant Neural Networks using Pipeline Parallelism

paper reading

这篇论文利用流水线并行化大规模神经网络训练过程,不仅加速模型训练过程,而且能够训练更大的模型。主要做法包括:1.将模型划分为多个模块,分散在不同硬件上训练。2.将一个mini batch数据分解为T个micro batch,方便流水线化处理。3.每个硬件(accelerator,下面简称acc)上在反向传播时候,重新计算前向传播值,节省存储空间。通过这3项措施,论文显...

Unsupervised Machine Translation Using Monolingual Corpora Only

paper reading

这篇论文介绍FAIR利用非对齐两种语言数据训练机器翻译模型,不管从模型效果还是模型设计都很有趣,论文指出该模型在英文到法文的翻译能够达到32.76的BLEU值,当然效果肯定比不上拥有平行语料的模型,但是对于那些没有或者很难收集大规模平行语料的语言翻译,论文介绍的方法还是很有意义的,毕竟收集两种语言的语料和收集平行语料的难度和工作量不是一个量级的。 模型架构:和普通的翻译系统一样,模型也分为...

Applied Machine Learning at Facebook: A Datacenter Infrastructure Perspective

paper reading


Cross-lingual Language Model Pretraining

paper reading

论文从最近大火bert等预训练模型获取灵感,因为bert只是单语言模型,是否可以扩展到多语言模型里呢?当然是可以的,论文使用两种方法,第一个只使用单语言数据的无监督任务,第二个是使用平行语料的监督任务。论文显示它在跨语言判别任务、无监督,有监督机器翻译都达到SOTA。之前的预训练模型对整个句子进行处理获取句子级别的embedding,本论文对不同语言的句子提取共享embdding空间的表示(...

Scaling Distributed Machine Learning with the Parameter Server

paper reading

这篇论文探讨分布式机器学习系统的参数服务器设计,一作是李沐大神,这应该也是Tensorflow、MXNet等框架的参数保存的实现方式。系统将数据和运算负担分散在worker nodes,将全局参数保存在server nodes里。系统支持异步通信,不同程度的一致性保证和失败冗余机制。针对机器学习算法特有的性质(对一致性不敏感,数据量和参数量巨大)做出一定的trade off。 场景和挑战 ...

Resilient Distributed Datasets: A Fault-Tolerant Abstraction for In-Memory Cluster Computing

paper reading


Distributed Transactions

lecture study

Transaction atomicity 本篇文章主要关注的是分布式事务的处理,首先介绍介绍一下事务的概念。事务具有原子性、可序列化和持久性,原子性是指这个事务要么全部完成要么不处理,关键是在执行过程中失败,该怎么处理,数据库是undo(貌似是的),在分布式系统中间结果写在缓存里,最后再commit,如果协调者发出commit命令,即使worker失败,整个系统也会等待它恢复返回commi...

全球通史

know this world

现在是2018年11月第一周,我也是在这周看完全球通史这本书,大致花了两个月时间,从斯塔夫利阿诺斯口中了解到人类历史的行程,而且是从全球史观来看待,而不是从某一指定文明的角度来看待整个历史。每个文明都值得学习和反思。这篇博客我就说说自己的学习心得吧。 其实史前时代占据了人类历史的大多数时间,他们过着采集者的生活,与世无争,他们不认为自己的生活会发生什么改变,他们的祖先这样生活,他们这样生活,...

ELMo and BERT

paper reading

在NLP界,迁移学习不像cv那么普遍,针对每个任务,不同学者会提出不同的模型进行处理,最多的是在word embedding层使用相同的word vector,但是这些embedding不能进行词语的消歧义,即在不同语境下同一个词语应该表示成不同的意思,ELMO就是通过在大规模无监督预料上训练提取句子的词embedding,再喂进下游任务来解决这个问题。但是这种方式和之前的pretraini...