AI开发人员的一天

介绍

作为Kontiki实验室的首席架构师,我戴上了两个帽子 - 一个是AI研究员,负责审视AI的新发展,并根据需要将其带入公司的主要能力。第二个角色是AI推销员/产品管理角色,我与企业合作,了解需求或问题,并为他们提供正确的AI动力解决方案。

标题图像

不用说,我一直在开发人员和业务角色之间切换,寻找工作流来优化我可用的开发时间。在商务旅行期间,我倾向于使用星期天进行ML或AI的锁定研究和开发。

这是一个典型的AI星期天的叙述,在那里我决定使用一些已经可用的示例代码和来自康奈尔电影数据库的数据来构建序列(seq2seq)基于模型的chatbotSeq2seq模型是一种递归神经网络,非常适合于聊天机器人和机器翻译问题。

在这个特定的例子中,我的重点是通过开始在RNN上的训练来使seq2seq模型工作。更大的目标是找出seq2seq模型的最佳工作流程(成本有效和训练时间)。当我开始时,我有三个选择 - 使用我们自己的GPU供电的桌面,使用Google云端平台GPU或Amazon EC2 GPU实例。

这是一个阴天星期天,云层正在建设 - 完美的一天,留在室内,让你的RNN通过步伐。

上午10:30

将数据集下载,清理并以seq2seq模型需要的格式进行转换以进行培训。所有这些在我的Anaconda开发环境中都相当不错。到目前为止没有毛刺。时间花了45分钟。

上午11:30

时间去seq2seq。让我们把你们全部炒起来。我从GCP获得了300美元的贷款,所以我想我会利用这一点,并利用Google的GPU功能。我前往Google云端平台的信息中心页面。我需要做的第一件事就是将我的账户从试用版升级到付费版,并提交一张信用卡。Google不允许在试用帐户中使用GPU。

下一步是选择一个带有vCPU和GPU配额的GCP实例。在启动GPU之前,我很好奇看看模型在多个vCPU和大内存的高端vCPU实例上需要多少时间进行训练。

我的模型建立在tensorflow 1.0.0上,所以我转到tensorflow.org并在Python 27上下载了正确的.whl for 1.0.0完成之后,我将代码上传到我的GCP实例并开始了培训。我有几个需要解决的venv问题,但又过了10分钟,模型正在训练。

下午12点

我已经创建了一个模型,将训练4000个批次的4000个时代,我注意到从日志的平均步骤时间,这可能需要超过18天的训练。在大型多核CPU实例中,这不是一个好主意,显然没有任何好处。我杀了这个过程,并决定添加图形处理器。

GCP关于GPU的过程有点迂回,您必须确保您在正确的区域创建实例(区域列表可在此文档中找到),并且经过多次尝试在右侧选择正确的vCPU / GPU组合我终于意识到,你不能马上启动一个支持GPU的实例。您必须从仪表板页面向Google申请配额,并证明您为什么需要使用GPU,然后等待它们启用配额。

在这个时候,我已经花了一个小时的时间在GCP上,星期天总共有2.5个小时的昏昏欲睡,而我在训练这个模型方面还没有取得很大的进展。我决定前往AWS,看看Amazon是如何做的 - 尽管我没有学分,但我有一个预感,AWS可能会让我更快地设置GPU。

1:30 PM

Amazon确实让启动一个支持GPU的实例变得非常简单 - 他们称之为深度学习实例Deep Learning Instances),它具有各种组合,并且预先安装了CUDA,还有大量的其他ML库被预装到实例中。

亚马逊的定价也是简单而直接的做你的数学和预测成本。我非常兴奋,因为看起来我很快就会走上GPU支持的培训之路。

我推出了最便宜的GPU后端实例 - 我在这个阶段注意到的一件奇怪的事情是,ML与下一层的Amazones基本实例之间存在巨大差距 - 几乎每小时7美元的差异,这是很多。

随着我的实例启动我ssh'ed到终端,上传我的数据和代码,并尝试从它的二进制URL为我想要的版本安装TF。在这个阶段,我意识到在我的代码中存在一个冲突,这是由于默认安装在实例3.6上的python版本,以及我想安装的python和tf版本。再花20分钟时间设置venv,然后找出正确的方法导入Venv内的模块。

一旦这样排序,我的tensorflow代码就开始执行了 - 我确实得到了关于tensorflow没有被GPU和CPU优​​化编译的警告,但是我暂时忽略了 - 我的目标是在相当快的速度办法。

我学习机器学习的一件事情(实际上对所有的编程都有好处)是,在早期阶段不要试图解决或同时实现太多的东西,而是要专注于让一件事情起作用很好地一次,知道最好的方式来做到这一点。在这种情况下,我专注于理解运行基于张量流的RNN的最佳云GPU选择,所以我忽略了优化的较小方面。

下午2:30

在这个阶段,星期天进入我的tensorflow了近4个小时,我意识到我做了很少的tensorflow的东西,还有很多关于数据预处理,云GPU选择和环境故障排除的工作。在这个过程中,我发现了很多有趣的信息,包括讨论如何使用Radeon GPU在Mac上运行RNN模型,以及关于Mac生活的一个坏主意,以及构建张量流的正确说明从零开始在你的系统上。

好吧,最后,随着星期天的临近,我的模型正在以快速的速度得到训练,这要感谢AWS GPU支持的实例 - 每一步的时间都在1分钟之内,训练的总时间看起来像是一天之后 - 一百万行内容基础不坏。

当晚上的灯光亮起,我决定给它打电话一天,我最后一天带走的是看到我的seq2seq模型很快就会兴奋起来,事实上Amazon AWS仍然击败了Google,启动基础设施并直接工作。

 
个人简介:Titash Neogi是一位经验丰富的技术专家,在技术产品管理,消费者互联网用户行为,工程和研究技能,用户体验设计和创业团队建设方面拥有10年的经验。他是kontikilabs的首席建筑师和企业家驻地。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值