当前位置: 首页 > news >正文

台州平台网站建设微信开发者工具官网下载电脑版

台州平台网站建设,微信开发者工具官网下载电脑版,导航网站制作 zhihu,南山出名的互联网公司文 | Severus编 | 小轶写在前面#xff1a;本文完全基于我个人的工作经验#xff0c;没有经过任何形式的行业调研#xff0c;所以我的理解也有相当浓厚的个人印记#xff0c;可以认作一家之言。如果能对读者朋友们起到任何帮助#xff0c;都是我的荣幸。如果不赞同我的看法… 文 | Severus编 | 小轶写在前面本文完全基于我个人的工作经验没有经过任何形式的行业调研所以我的理解也有相当浓厚的个人印记可以认作一家之言。如果能对读者朋友们起到任何帮助都是我的荣幸。如果不赞同我的看法则还请一笑了之。大家好我是Severus一个在某厂做中文文本理解的程序员。今天我想要分享的是在算法岗工作6年之后我心中对“算法岗”的理解以及我在这个职业中是如何生存的。我时常提到“AI算法工程师”分为两个部分“AI算法”和“工程师”。二者的关系是算法工程师首先得是个工程师。有了 idea还得有能力高效、优美、完整地实现出来还要去解决一系列工程上的问题。同时除了有产生想法的能力还要有及时放弃想法的能力。因为我做出来的东西要面对的从来不是那几个数据集几个指标而是实打实的用户。我向来认为指标可以控制gold 集合只能定性最终的作用才是最重要的。所以在工业中做算法又必须要严谨那么除了扎实的背景知识还需要分析能力以及下这些笨功夫的耐心。扎实的分析能力我认为合格的算法工程师应当具备相当的分析能力。遇到问题的时候能一步一步地找到问题的根源并提出扎实的方法去解决它。扎实的方法指的是每一步都是在切实地解决问题有可靠的逻辑、理论支撑。而不是一拍脑门就觉得某一个方法可以用唯 SOTA 论看了论文就觉得这个方法肯定 work。这种分析能力和提出扎实方法的能力其实就是一个算法工程师的方法论。例如我一直说模型预测时的表现通常反映了训练样本中的现象。所以通常我们解决 case 的流程为观察 case假设 case 的发生原因按照假设到大规模数据中过滤复现 case验证假设是否正确。如果不正确就根据复现结果更正假设如果一直假设不出来就记录 case看能否找到更多的相似 case继续更新假设。验证原因正确后估算规模看是否需要特化解决如需要就特殊解决一下。看相同或相似的原因还有多少设计新的通用优化方案。所谓做算法尤其是想要落地或者推广大多数时候的确更像是做数据下这些笨功夫。相对来讲很多“灵光一现”或者仅仅以指标为基准看到的论文中的方法多数在脑暴会议中就会被 fail 掉。那些方法要么在理论上不靠谱要么徒增算法的复杂度却仅仅解决了一小部分问题。毕竟部分学术打榜任务更像是先有了指标后有了任务或数据而不是以实际需求为基准去定义相关的任务及数据。例如充斥着大量远监督数据的各路关系抽取数据集不仅仅是在 train 中也在 test 中但又仅仅给出了文本数据中文需要自然语言推断任务则机翻了一个数据集得到了某中文推断数据集中文需要自己的理解榜单就有了高 bias 的某文本相似判定数据集有着大量不可推断关系的某知识图谱补全数据集知识图谱补全本身也是个指标大于需求的任务等等。例如ACL2021 某方法在某数据集上的实验结果中随机初始化参数的模型和 BERT 模型对比召回相差10个点左右而在 tuning 好的模型上将头尾实体 span 替换成对应的 type 如 China 替换成 country抹去三元组本身可能过拟合的信息后召回下降40个点有余。case 分析发现替换后的正确召回的确是通过文本理解得到的而远监督得来的三元组的确大多被判定成了 unrelated。使用先验知识的增益可能仅仅是10个点所有方法用 BERT 和不用 BERT 的区别都是10个点左右那么其余的30多个点大概就是三元组名字过拟合了吧。这些任务以及发论文唯指标论的风气也就造成了算法相关工作从学生到工作最大的 gap。我在工作中见到的刷分团队其成果很多都是两只脚皆踩在虚空之上。他们在试图将自己研发的所谓“算法”落地时做的事情往往就是管应用方要一份数据集把分数刷上去超过某些方法就算是交付了却完全不分析问题。刷分的手段包括但不限于搜参数提几百个任务爆搜连训几个 epoch 都要搜堆大模型搞集成。不会优先考虑工程上是否能接受是否具备应对其他情况的泛化能力或者这个“算法”是否还有未来成长空间。于是就会导致——一波又一波地赶着热点或许能发不少 paper但很难做出来一个能够落地应用的算法。说了这么多看上去我描述了一种极端——就是算法工程师就是在闷闷地做分析做工程优化等似乎与前沿研究毫不相关。不是的算法工程师也要花费相当的时间去刷论文了解相关的前沿领域发生了什么。只不过拥有了这些分析能力及经验后在遇到前沿论文时就会具备能力去拆解一篇论文提出的方法中的每一个组件吸收其中有价值的 idea 用到自己的项目当中而非一定要全盘复用论文或者纠结论文中方法之外的细枝末节或者受到论文中某一个 idea 的启发提出适用于自己的方案。毕竟AI 领域大家的方法都是明牌数据也是海量。真正理解了“为什么”才能让它们发挥作用。举个例子。在过去一年的工作中我根据 Cross-Thought 的论文提出了一种简化版的优化方案应用到了我的预训练语言模型中在序列标注任务上取得了一定的成绩用一种相对朴素的方法就能得到十分有效的句子的表示。再比如我们还将 prompt 方法直接应用到了细粒度分类任务中并根据模型测试时的一些表现得出了用 prompt 去清洗训练数据优化其他模型的方法。这个方法已经在我们的一个落地项目以及某一个学术任务上有了初步成效。同时也孵化了一个文本挖掘框架今年完成了开源填补了某一个空白在相关领域的开发者中颇受好评。小弟不才在接下来的 WAVE SUMMIT 峰会上会上场介绍我们最新的成果。列位可能要问了有些 idea 可能就是灵光一现完全凭借灵感和直觉想到的而非基于繁琐的数据/任务分析。以我说的这种工作风格这类想法就应该直接放弃那不就相当于只能做些细枝末节的改进工作了么不扎实的工作风格不代表会错过变革。近些年的经典论文如 Transformer 、BERT、RoBERTa 等工作都有相当的理论依据做支撑其核心思想的立足点都是相当扎实的它们自然他们也就成为了经典。而我们看后面涌现了很多不知所谓的改进哪怕不断地刷新SOTA却往往又掀不起什么其他的浪花更有一些直接被其他研究者用理论去推翻或证明某种改进是有相当的限制的或过于繁琐的。这里我也分享一下我在看待一篇工作时常用的视角。我在观察一个模型的时候观察的重点一般是这模型计算某一答案时利用的信息是什么。例如我曾看到一篇用图神经网络建模依存关系树的工作任务是关系抽取。作者的假设是语法依存关系是对关系抽取能起到作用的。当我看到这一模型后心路历程是首先一些依存关系的确可以直接表明实体间关系。使用部分依存关系去强化文本 token 之间的关系看上去也是合理的。但是做过关系抽取的也都知道并不是所有的依存关系都可以去抽取实体间关系的。有些关系引入了、强调了则是在引入噪音。所以我当时的第一个疑虑就是在建模的时候是否对边的关系有所区分比如用门控结构去控制强调或者用不同的矩阵往不同的空间上投影。另外依存关系的不可传递性与统计模型的连续空间上存在的一种天然冲突是否会造成问题。强悍的工程能力援引我最近读的一本书中看到的一句话搞深度学习的人都应该学习一下计算理论。工作以来我越来越感受到自己得以将各类方法拆解改造、化为己用这份能力主要都仰赖于我接受过的数据结构与算法训练。高效选数据上面提到与其是做算法更多时间则是在做数据。而在工业界我们最不缺的就是数据——与其说是“做数据”不如说是“选数据”。从海量的数据获取合适的训练样本则需要繁琐的策略、高效的方法作为支撑。用对了方法运行效率可能就是几百倍的差异迭代模型的周期亦是天壤之别。顶层设计能力除数据结构和基础算法外顶层设计能力同样重要。无论是单兵作战还是团队协同扎实、漂亮的工程设计都会让我们在效率甚至心情上有质的变化。具体的实施细则在大学 CS 课程中已经多有强调。不过光关注那些说教型的细则还是远远不够更多的其实还是多写多想多看。看一看别人的代码中有什么设计或编码技巧可以吸收借鉴的。想一想自己在某个工程中写出来的基础模块之后在其他工程里还是否愿意复用在团队协同的时候别人调用你开发的模块是否会遇到困难工程方案的选择除此之外工程能力还有一个重要方面就是工程方案的选择。工作过程中总是不可避免会应用其他人开发的东西。而当我们拥有选择权时就要能清楚哪个方案更加适合自己的任务。基于个人的工作经验我也总结出了一些原则明确的而非黑盒的。比如有个分布式工具它可能“看上去方便”——用简单的几行指令即可完成较为复杂的需求。但没有任何文档说明它中间如何生成各种复杂逻辑也不提供任何代码可供研究。相比之下我还是宁愿选择自己下一些笨功夫。简洁的而非复杂的。还是以分布式工具为例。如果原本三两个节点就可以解决的问题它却生成数倍的节点。当然也就造成了数倍的调度和I/O以及数倍的资源占用。即使它其他方面做得再好我还是会尽量弃之不用。可控的而非限制的。也举个例子。如果一个模型训练套件定死了输入样本和输出的格式或者测试步数、保存逻辑也定死了不写文档四舍五入也差不多算定死了。再有甚者可能连给出的模型也是加密的。相比之下我肯定愿意选择更可控的方案或者干脆完全自己写。鲁棒的而非漏洞的。例如框架版本选择一定选择有人维护且完善的版本而非久远的旧版本。部署中台也一定选择 log 明确错误好查容易定位部署过程稳定的而非每一个步骤都有崩溃的风险更换一个开发版本直接 bomb 的。上面列举出的都是一些虚构的极端例子...如有雷同纯属巧合。小结写这篇文章是因为看到了知乎上关于算法工程师的“职业护城河”的一些讨论也有感于工作过程中见过的一些事情。希望上面的内容能帮助一些小伙伴刚在入行的时候迅速跨过心理落差更好地投入业界。正如开篇所说这些经验和想法带有非常浓厚的个人印记。全都是一家之言。如果不赞同还请一笑了之。萌屋作者SeverusSeverus在某厂工作的老程序员主要从事自然语言理解方向资深死宅日常愤青对个人觉得难以理解的同行工作都采取直接吐槽的态度。笔名取自哈利波特系列的斯内普教授觉得自己也像他那么自闭、刻薄、阴阳怪气也向往他为爱而伟大。作品推荐深度学习路在何方数据还是模型人类知识在深度学习里还有用武之地吗在错误的数据上刷到 SOTA 又有什么意义后台回复关键词【入群】加入卖萌屋NLP/IR/Rec与求职讨论群后台回复关键词【顶会】获取ACL、CIKM等各大顶会论文集
http://www.huolong8.cn/news/125519/

相关文章:

  • 长安大学门户网站是谁给做的科技公司网站制作模板
  • 网站建设初步规划手机网站页面设计尺寸
  • 国外有哪些做deal的网站新乐市住房和城乡建设局网站
  • 国外的网站叫什么电力建设网站
  • 网站设计流程包括做微信平台网站
  • 招商网站建设推广程序员除了做软件是不是就做网站
  • 怎样删除网站官方网站哪家做的最好
  • 免费的网站后台宠物网站素材
  • 网站被安全狗拦截哪个网站做海南二手房
  • 网站工信部实名认证中心wordpress怎样更换主题
  • 配资网站建设多少钱dns服务器 域名不存在时 跳转到指定网站
  • 网站界面ui设计静态网站是什么意思
  • 性价比高的seo网站优化wordpress标签的调用
  • 东莞网站排名优化公司手机app制作网站用什么软件
  • 单网页网站制作公司网站备案查询
  • 海门网站建设整人网站怎么做
  • 平谷微网站建设有什么做衣服的网站好
  • 自己做服务器的网站广州网站制作联系方式
  • 红酒网站建设模板网站优化大赛
  • cms网站内容管理系统电子公章印章在线制作
  • 常州外贸公司网站建设营销型建设网站实训总结
  • 重庆祥云平台做网站seo快速提升排名
  • 平面设计师常用的素材网站做编程的 网站有哪些
  • 三网合一网站做网络推广的多少钱一个月
  • 中国平面设计网站济南住建网站
  • 一般购物网站项目免费flash网站模板
  • 学校网站建设调查报告做ppt赚钱的网站
  • 中山网站建设文化教程智慧团建网站登录入口官网
  • 无锡网站建设唯唯网络正规的淘宝代运营公司
  • 如何 html5 网站模板张家口网站建设费用