作者都是各自领域经过审查的专家,并撰写他们有经验的主题. 我们所有的内容都经过同行评审,并由同一领域的Toptal专家验证.
丹尼尔·帕姆雷斯·卢比奥的头像

丹尼尔·帕姆雷斯·卢比奥

丹尼尔是一名数据科学家, developer, 他是前首席技术官,专攻NLP超过6年, 最近专注于大型语言模型(llm). 他曾在巴斯夫(BASF)和戴姆勒(Daimler)担任高级数据科学家.

以前在

BASF
Share

在过去的一年里, 全数据科学家 和自然语言处理工程师(NLP) Daniel p rez Rubio一直专注于开发 高级语言模型,比如BERT 和gpt,这是无所不在的生成式人工智能技术背后的相同语言模型家族,比如 OpenAI’s ChatGPT. 以下是最近一个“问我任何问题”风格的Slack论坛的摘要,卢比奥在论坛上回答了 关于人工智能的问题 以及来自世界各地Toptal工程师的NLP主题.

这个综合Q&A将回答这个问题“NLP工程师做什么??并满足你对基本NLP基础等主题的好奇心, 推荐技术, 高级语言模型, 产品和业务关注, 以及自然语言处理的未来. NLP的专业人士 不同背景的人可以从讨论的主题中获得切实的见解.

编者注:为了清晰和简洁,一些问题和答案经过了编辑.

新领域:NLP基础

开发人员应该遵循哪些步骤才能从标准应用程序转向专业应用程序 机器学习(ML)?
—L.P., Córdoba,阿根廷

在数据科学中,理论比实践重要得多. Still, 您还必须熟悉一个新的工具集, 所以我建议你从一些在线课程开始,尽可能多地把你学到的东西付诸实践. 当涉及到编程语言时,我的建议是使用 Python. 它类似于其他高级编程语言, 提供一个支持性社区, 并且有良好的文档库(另一个学习机会).

你对作为正式学科的语言学有多熟悉?这些背景对NLP有帮助吗? What about 信息理论 (e.g.、熵、信号处理、密码分析)?
—V.D.,美国乔治亚州

因为我是电信专业的毕业生, 信息论是我构建分析方法的基础. 数据科学和信息论是紧密相连的, 我在信息理论方面的背景帮助我成为了今天的专业人士. 另一方面,我在语言学方面没有任何学术准备. 然而,总的来说,我一直喜欢语言和交流. 我通过在线课程和实际应用学习了这些主题, 让我和语言学家一起建立专业的 NLP的解决方案.

你能解释一下BERT和GPT模型是什么,包括现实生活中的例子吗?
—G.S.

没有太多的细节,因为有很多伟大的 literature 在这个主题上,BERT和GPT是语言模型的类型. 他们接受的是纯文本训练,比如 文字填满,并因此为会话用例做好准备. 你们可能听说过, 像这样的语言模型表现得非常好,它们可以在许多侧用例中脱颖而出, 比如解决数学测试.

推荐的四类NLP工具示意图:编程语言, 云服务, 工作流编排服务, 语言模型.
推荐的NLP工具(绿色)及其替代品(浅蓝色)

是什么? 除了BERT和GPT之外,语言模型的最佳选择?
—R.K.科尔纽堡,奥地利

这是我能建议的最好的, 根据我的经验, 仍然是GPT-2(最近的版本是GPT-4). 它重量轻,功能强大,足以满足大多数用途.

你喜欢Python还是R语言 用于执行文本分析?
—V.E.

我情不自禁——我爱Python的一切,甚至超越了数据科学! 它的社区很棒,有很多高质量的图书馆. 我知道一些 R但是它与其他语言非常不同,很难用于生产环境. However, 我必须说,与基于python的替代品相比,它面向统计的功能是一个很大的优势, 尽管Python有很多高质量的, 开源项目补偿.

您有首选的云服务吗.g.、AWS、Azure、 Google)进行模型构建和部署?
—D.B.特拉弗斯城,美国

Easy one! I hate 厂商锁定因此,AWS是我的首选.

您是否建议在NLP管道中使用工作流编排.g., Prefect, Airflow,路易吉,海王星),或者你更喜欢自己建造的东西?
—D.O., Registro,巴西

我知道气流, 但我只在必须协调多个流程并且知道将来需要添加新流程或更改管道时才使用它. 这些工具对于大数据处理等涉及大量数据的情况特别有用 提取、转换和加载 (ETL)要求.

对于不太复杂的管道,您使用什么? T我最常看到的标准是b用Flask或FastAPI之类的东西构建一个web API,并有一个前端调用它. 你能推荐其他的方法吗?
—D.O., Registro,巴西

我尽量让它保持简单,不添加不必要的活动部件,否则会导致之后的失败. 如果需要一个API,那么我会使用我所知道的最好的资源来使它健壮. I recommend FastAPI组合 with a Gunicorn 服务器和Uvicorn工作人员-这种组合创造了奇迹!

然而,我通常会避免 像微服务这样的架构 从头开始. 我的看法是,最好朝着模块化、可读性和清晰的文档方向努力. 如果有一天你需要转向微服务方法, 然后你可以解决更新问题,并庆祝你的产品足够重要,值得付出这些努力.

我一直在使用MLflow进行实验跟踪,使用Hydra进行配置管理. 我正在考虑尝试公会AI和BentoML模型管理. 你会推荐其他类似的机器学习吗 自然语言处理工具?
—D.O., Registro,巴西

我用的最多的是 自定义可视化 and pandas’ style 快速比较方法.

当我需要在数据科学团队中共享实验结果的公共存储库时,我通常使用MLflow. 即便如此,我通常也会选择相同类型的报告(我有一点偏好) plotly over matplotlib 使报告更具互动性). 当报表导出为HTML时, 结果可以立即食用, 你可以完全控制格式.

我很想试试举重 & 特别是对深度学习的偏见, 因为监视张量比监视度量难得多. 到时候我很乐意和大家分享我的结果.

推进你的事业:复杂的NLP问题

您能分解您的日常工作,为实际应用程序进行数据清理和模型构建吗?
—V.D.美国乔治亚州

数据清理和特征工程占用了我大约80%的时间. 现实情况是,数据是任何机器学习解决方案的价值来源. 在构建模型时,我尽量节省时间, 特别是因为企业的目标性能要求可能不够高,不需要花哨的技巧.

对于现实世界的应用程序,这是我的主要关注点. 我喜欢看到我的产品帮助解决具体问题!

假设我被要求研究一个不起作用的机器学习模型, 不管它接受了多少训练. 你如何进行可行性分析以节省时间,并证明采用其他方法更好?
—R.M.,阿拉伯联合酋长国迪拜

使用a是有帮助的 精益方法 验证最优解决方案的性能. 您可以通过最少的数据预处理来实现这一点, 易于实现的模型的良好基础, 严格的最佳实践(训练/验证/测试集的分离), 尽可能使用交叉验证, etc.).

有可能建造吗 较小的模型几乎和较大的模型一样好,但使用的资源更少.g.(通过修剪)?
—R.K.科尔纽堡,奥地利

Sure! 最近在这一领域有了很大的进展 DeepMind的Chinchilla模型,它的性能更好,并且具有更小的大小(在计算预算中) GPT-3 还有可比较的模型.

人工智能产品和商业洞察

由四个箭头组成的流程图,描述了机器学习产品从头到尾的开发周期.
机器学习产品开发周期

你能分享更多关于你的吗 机器学习产品开发方法?
—R.K.科尔纽堡,奥地利

我几乎总是从探索性数据分析开始, 尽可能深入地潜水,直到我确切地知道我需要从我将要处理的数据中得到什么. 数据是任何事物的价值来源 监督式机器学习 product.

一旦我掌握了这些知识(通常是在几次迭代之后), 我与客户分享我的见解,并努力理解他们想要解决的问题,从而更加熟悉项目的用例和上下文.

之后,我将使用易于实现的模型来获得快速而粗糙的基线结果. 这让我明白了达到目标有多么困难 性能指标.

至于其他方面,重点在于将数据作为价值的来源. 在预处理和特征工程上投入更多的精力将会有很长的路要走, 和持续, 与客户进行透明的沟通可以帮助你们共同应对不确定性.

一般来说,当前AI和ML在产品开发中的应用的最外边界是什么?
—R.K.科尔纽堡,奥地利

现在,人工智能和机器学习有两个主要的界限需要弄清楚.

第一个是通用人工智能(AGI). 这开始成为一个大的焦点领域.g., DeepMind的Gato). However, 要让人工智能在多个任务中达到更普遍的熟练程度,还有很长的路要走, 面对未经训练的任务是另一个障碍.

第二个是 强化学习. 对大数据和监督学习的依赖是我们需要消除的负担,以应对未来的大多数挑战. 一个模型学习人类所做的每一项可能的任务所需的数据量可能在很长一段时间内都超出了我们的能力范围. 即使我们达到了这个水平 数据收集, 当未来世界的环境和条件发生变化时,它可能无法使模型达到人类的水平.

我不指望人工智能社区能在短期内解决这两个难题,如果有的话. 在这种情况下, 除此之外,我预计不会有任何功能上的挑战, 所以在这一点上, 我猜想焦点会转向计算效率——但探索这方面的人可能不会是我们人类!

何时以及如何将机器学习操作(MLOps)技术整合到产品中? 对于说服客户或经理这样做,你有什么建议吗?
—N.R.葡萄牙里斯本

MLOps对于许多产品和业务目标都非常有用,例如设计为只对您使用的内容收费的无服务器解决方案, 针对典型业务用例的ML api, 将应用程序通过MLflow等免费服务来监控开发阶段的实验和后期的应用程序性能, and more. mlop尤其为企业级应用程序带来了巨大的好处,并通过减少技术债务提高了开发效率.

然而,评估您提出的解决方案是否适合您的预期目的是很重要的. 例如,如果您的办公室中有空闲的服务器空间,可以保证您的 SLA需求 ,并且知道您将收到多少请求,您可能不需要使用托管MLOps服务.

一个常见的失败点来自于托管服务将涵盖项目必要条件(模型性能)的假设, SLA需求, scalability, etc.). 例如,构建一个 OCR API 需要密集的测试,评估它在哪里以及如何失败, 你应该利用这个过程来评估阻碍你实现目标的障碍.

我认为这完全取决于你的项目目标, 但如果MLOps解决方案符合您的目标, 它通常比量身定制的解决方案更具成本效益,并能更好地控制风险.

在您看来,组织如何定义业务需求,以便 数据科学工具 能产生有助于决策的模型吗?
—A.E.美国洛杉矶

这个问题很关键. 你们可能知道, 与标准的软件工程解决方案相比, 数据科学工具为客户增加了额外的模糊性:您的产品不仅仅是为了处理不确定性而设计的, 但它甚至往往依赖于这种不确定性.

出于这个原因, keeping the customer in the loop is crucial; every effort made to help them understand your work is worth it. 他们是最清楚了解项目需求并将批准最终结果的人.

NLP的未来和人工智能的伦理考虑

您如何看待由大型企业造成的耗电量上升 卷积神经网络 (cnn),像Meta这样的公司现在正在定期构建?
—R.K.科尔纽堡,奥地利

这是一个伟大而明智的问题. 我知道有些人认为这些模型(e.g., 元的骆驼)是无用的,浪费资源. 但我知道他们能做多少好事, 因为它们通常是稍后免费提供给公众的, 我认为花在训练这些模型上的资源会随着时间的推移得到回报.

你对那些声称人工智能模型已经实现感知能力的人有什么看法? 基于你对语言模型的经验, 你认为在不久的将来他们会接近有知觉吗?
—V.D.,美国乔治亚州

评估像人工智能这样的东西是否具有自我意识是非常形而上学的. 我不喜欢这类故事的焦点,也不喜欢它们对NLP领域造成的负面影响. In general, 大多数人工智能项目并不打算做更多的事情, well, artificial.

在您看来,我们是否应该担心与AI和ML相关的伦理问题?
—O.L.来自巴西伊沃提

我们当然应该——尤其是最近的进展 在ChatGPT等人工智能系统中! 但是,要组织讨论,需要相当程度的教育和专业知识, 我担心某些关键特工(比如.g.(政府)仍需要时间来实现这一目标.

一个重要的伦理问题是如何 减少和避免偏见 (e.g.(种族或性别偏见). 这是技术人员的工作, companies, 即使是顾客,也要努力避免对任何人的不公平待遇, 不计成本.

Overall, 我认为机器学习是引领人类走向下一次工业革命的主要驱动力. Of course, 在工业革命期间,许多工作岗位不复存在, 但是我们创造了新的, less menial, 以及更多的创造性工作来取代许多工人. 我认为我们现在也会这样做,适应ML和AI!

Toptal工程博客的编辑团队向 Rishab Pal 用于回顾本文中介绍的技术内容.

了解基本知识

  • 什么是NLP ?它的好处是什么?

    自然语言处理(NLP)是人工智能(AI)的一个子集,专注于语言和计算机处理文本和单词的能力. NLP的基础包括理论数据科学知识, 语言模型, 以及Python等编程语言.

  • 为什么NLP是未来?

    随着像ChatGPT这样的工具改变和优化我们的日常任务,NLP已经无处不在的影响只会越来越大.

  • 为什么NLP在商业中很重要?

    您可能已经以聊天机器人的形式遇到了许多NLP的应用, 像Siri或Alexa这样的助手, 和GPS导航. NLP对于跨许多部门的业务应用程序很有价值,并且可以帮助优化内部流程.

  • 自然语言处理是什么时候引入的?

    自然语言处理有着深厚的根基, 从1950年代开始, 尽管从那以后它已经有了很大的进步.

聘请Toptal这方面的专家.
Hire Now
丹尼尔·帕姆雷斯·卢比奥的头像
丹尼尔·帕姆雷斯·卢比奥

Located in 瓜达拉哈拉,西班牙

成员自 2021年11月29日

作者简介

丹尼尔是一名数据科学家, developer, 他是前首席技术官,专攻NLP超过6年, 最近专注于大型语言模型(llm). 他曾在巴斯夫(BASF)和戴姆勒(Daimler)担任高级数据科学家.

Toptal作者都是各自领域经过审查的专家,并撰写他们有经验的主题. 我们所有的内容都经过同行评审,并由同一领域的Toptal专家验证.

以前在

BASF

世界级的文章,每周发一次.

订阅意味着同意我们的 隐私政策

世界级的文章,每周发一次.

订阅意味着同意我们的 隐私政策

Toptal开发者

加入总冠军® community.