Yo, el ingeniero de aprendizaje automático, decidí huir

Escrito | Comunidad OneFlow

Después del auge de AI/ML, muchos ingenieros siguieron la tendencia de aprender nuevas tecnologías, junto con la tentación de los salarios altos, muchas personas saltaron a puestos de investigación/ingeniería de aprendizaje automático, pero solo después de ingresar se dieron cuenta de que este lugar no es tan hermoso. como imaginado Entrar en este pozo es tan profundo como el mar, ¿sientes lo mismo?

Recientemente, @hedy-m, un ingeniero de ML en Reddit durante un año, se quejó de que demasiadas personas se apresuraron al campo del aprendizaje automático debido a "genial", "inteligente" y "salario alto". También pensó que ML funciona Soñando de eso, pero ahora, descubrió que el dinero no puede comprarme feliz, y está listo para abandonar el hoyo y huir.

La razón que dio fue que observar las curvas de pérdida y ajustar las características y los parámetros era demasiado agotador y aburrido, especialmente al producir modelos, cuando no producían el efecto deseado, no podía evitar pensar que si se esforzaba lo suficiente, el Se volverá efectivo, pero a menudo falla, el modelo ML es difícil de alcanzar y la dificultad de entregar el proyecto lo pone bajo mucha presión. Ahora odia pasar horas golpeándose la cabeza con "datos basura" en el trabajo de aprendizaje automático. .

Aún así, está jugando con la mente del ingeniero de software y siente que se divertirá más en el trabajo cuando se trata de tareas de ingeniería y programación más puras.

Después de que se quejó, hay una facción de "pozo abandonado" de ML, una facción de "fragancia verdadera" de MLOps y una facción del cuerpo de Jiduobu en Jianghu que dieron sus opiniones. Algunas personas le aconsejaron que disipara esta idea. Debe ser una locura hacerlo. Él saltó al pozo para hacer la ingeniería de software que le interesaba, y otras personas sugirieron usar las herramientas de MLOps para ayudarlo a aliviar la presión laboral actual.

Durante un tiempo, las tres sectas principales expresaron sus opiniones, y después de la salida, parecía que el ingeniero estaba abrumado...

1

Facción de "pozo abandonado" de aprendizaje automático

En realidad, la queja de @hedy-m es bastante común en el campo de ML. "Abandoning the pit" envió a los internautas que expresaron una gran resonancia y lo persuadieron para que se dedicara a la ingeniería de software.

Básicamente, muchos proyectos de aprendizaje automático deben ejecutarse para obtener recursos y datos relevantes, también debe realizar un trabajo de procesamiento de datos que requiere mucho tiempo, pero al final, el éxito de los proyectos de ML depende de los datos que tenga e incluso de la suerte. Siempre es frustrante cuando un modelo no funciona como se esperaba y usted es totalmente responsable de ello.

El internauta de Reddit @knighttoken1 dijo que si comienza a resolver un problema imposible o muy difícil, no importa cómo intente usar diferentes modelos de ML, no funcionará (al menos ML no es la solución). En un proyecto como este, es difícil no relacionar el valor personal con el desempeño del modelo.

“在 ML 工作中,你很容易工作 14 小时,同时失去友谊、社交和健康,最终仍然一无所获”:)

此外,大部分 ML 工程师日常用的是知名模型或复现其他论文,创造性空间有限,难以获得成就感,有人认为,要想在机器学习工作中做出好成绩,还是要有 Phd 加持去做研究。当你成为 ML 的大牛,轻松输出各种相关论文时,生活就美满幸福,但要想有影响力和创新性,自然也会承受各种压力。

即便在大厂,只有极少数地方才会用到最前沿的ML研究,况且还是业务优先。@TernaryJimbo 提到,在大厂 ML 团队带过后,现在讨厌关于 ML 的一切,他转到了更标准化的后端工作,只是把ML当成一种业余爱好。

还有人提到,机器学习工程师还要努力展示与某些业务 KPI 相关的直接商业价值,而模型的改进不一定会对业务 KPI 产生直接影响,因为还有很多其他因素促成数据产品取得成功,由于涉及到如此多的不确定性,他们通常也不得不使用太花哨的东西,因此,旧招数不断被重复使用。

相对而言,做软件工程不确定性更小,优秀的软件工程师投入必要的时间,就会获得积极的结果,而且对任何科技公司来说,软件工程项目都是更成熟的核心业务。

2

MLOps“真香”派

机器学习工作中让人很糟心的是,要处理混杂的数据,并且没有称心的编程工具,如果能改变这两点不足,机器学习工程师的生产力将得到大幅提升。

网友 @CuriousRonin 的回复得到了最高赞。他认为,在许多情况下,当你打算将代码用于生产时,只有使用更高级别的框架才能节省大量时间,而不是将时间花在代码和文档、错误分析以及训完模型后的很多其他工作上。

不过使用 PyTorch Lightning 或 fast.ai 等更高级别的框架也有很多麻烦。有人提到,从 Fastai 部署 PyTorch 模型非常痛苦,因为人们必须了解 Docker、PyTorch、WebAPI/flask 和云容器服务、监控......

因此,他建议使用 MLOps 工具。如果没有良好的基础设施,系统质量和开发体验就会一塌糊涂,而 MLOps 就像是编程用的 IDE 或 Git,这是行业中最有价值的东西。

有人补充,机器学习工程师的工作是弄清楚如何将模型产品化,并将其扩展到软件工程师构建的 Serving 平台,如果发生模型漂移,还需要监测和调整,而 MLOps 平台可以做到这一点。

网友 @chief167 更直接,他说自己根本不喜欢 Azure、Snowflake 或 Databricks 进行部署,现在模型就绪后,使用 MLOps 平台在 15 分钟内就可完成模型部署,API 就绪,完成监控,抛出接口并完成整个过程,确实消除了所有痛苦。

在他看来,谷歌 GCP 和 AWS 比传统玩家要好很多,但离专用平台还差得很远,还推荐使用 Datarobot、H2O、Teradata Vantage 等 MLOps 平台。

目前,MLOps 主要被用于由 AI 技术驱动的组织中,一般由数据工程师或应用工程师打造,不过在一些组织中,机器学习工程师也会承担 MLOps 工具的开发工作。

3

技多不压身派

温和的中庸派也发话了,俗话说,多门技术多条路,不要搞得这么决绝。

许多公司在软件工程和 ML 这两个角色之间还没有过于明显的区分,实际上,如果你在这两方面都拥有成熟的经验,那你更有价值。

网友 @modernzen 现身说法,他目前的职位是机器学习工程师,但主要做的是软件工程 + MLOps/DevOps 的工作,偶尔还会做数据科学任务。尽管他喜欢数学/统计/理论机器学习,但一直喜欢写代码胜过任何事情。

他将大部分时间都沉浸在编码工作上,并且从不抱怨,只花 <10% 的工作时间在 fine-tuning 或调参的 ML/DS 任务上,这样不至于对其感到厌倦。他建议在一个使用机器学习的团队找到一份软件工程师的工作,这样即使大部分时间不直接使用 ML 模型,你仍然可以研究机器学习。

还有一位有 20 年软件工程师经验的网友宽慰道,无聊或压力可能不是技术领域的问题,更多与团队或者项目有关。当你看到软件运行或输出业务见解,并为用户和企业带来价值时会让人感到满足,开发项目也并不总是很顺利。

听了上述三大门派的观点,你会选择弃坑ML?继续苟着?还是有其他选择?

欢迎下载体验OneFlow v0.7.0最新版本:github.com/Oneflow-Inc…

Supongo que te gusta

Origin juejin.im/post/7086671583728631839
Recomendado
Clasificación