在 AI 这方面,我想也是到了这样一个时间点,每个公司里都有大数据平台已经开始做一些这样的事情,但是绝大多数公司的大数据部门是一个大部门在做某几个业务训练、某几个模型,而 Google 内部已经有 4000 多个 Model 了,这 4000 个 Model 不可能都是 Google 的算法工程师贡献的,一定有非常大的数量是“普通”工程师(就是不搞算法的)贡献的。国内的互联网公司做机器学习、Deep Learning 怎样才能达到这样一个水平,我们离这一步为什么这么遥远?或者为什么我们迟迟走不到这一步?这跟我们的深度学习平台有关。
「七牛云」本身有一个深度学习的平台,这是一个端到端的深度学习平台,包括从对原始富媒体数据的打标,到制成一个可以被训练任务读取的样本集,到训练任务的触发以及训练成果的存储,包括对于最后训练出来模型的评估,评估完成以后最后将这个模型打包成你的线上业务,通过 API 形式对外提供服务一整套流程的平台。 AI 训练是这个平台中的一个部分。
第一,容器相关的知识。第二,Kubernetes 和企业应用的差距;第三,我们做了什么;第四,我们现在正在做的,以及以前踩过的坑;最后,介绍一下我们的客户案例。
第一个会简单说一下 1.8 之后 Kubernetes 以及容器社区的情况;另外,我们的主题,我们作为一个社区的参与者,无论是一个厂商或者是一个贡献者,或者是一个使用者,应该关注Kubernetes的主线到底是什么。因为我们知道 1.8 之后所包含的 Feature 实在太多了,十几个 Sig,这些东西哪些是主线,哪些是需要投入资源做的事情;最后我会简单说一下主线特性的实现或者说 Design 遵循着怎样的理念,这是指导我们下一步工作的核心思想。
我们先来说一下 Kubernetes 中几个重要的概念:第一个要说也是最重要的就是 Declarative,Declarative 的意思是申明的、陈述的,与之相反的是 Imperative,Imperative 意思是命令式的。首先说一下 Kubernetes 设计完全是按照 Declarative 设计的。但为了初学者的学习方便,也是支持 Imperative。Declarative 对 Kubernetes 的功能非常重要,比如说它的自育性、自治能力都完全是依赖于 Declarative。第二个概念是 Level-triggered,Edge-triggered 。第三个概念是异步的。这些概念在后面会详细的介绍。
我想谈的话题就是从开发者的角度来看,现在分布式系统的研发过程。现在分布式研发过程比较长,作为一个开发者,要做一个分布式系统还是很困难。也就是说,这里列了几个步骤,如果要做分布式系统,要做几个拆分。要有一个大的拆分,有的模块是商务,有的模块是做业务,还有审计,还有日志分析等等。