一、AI和NLP的基本介绍

1、人工智能

2、人工智能-研究方向

我们生活中的很多方面都涉及到了人工智能,如语音合成、语音识别、字符识别、机器翻译、

声纹识别、指纹识别、语义理解和图像识别等。

3、人工智能与机器学习

机器学习时人工智能的一种方式。

4、人工智能---三驾马车:数据、算力和算法

其中数据和算力时最重要的,而算法相较而言并没有那么重要。

5、自然语言处理

即Natural Language Processing (NLP)

自然语言处理是一个交叉学科,有数学、语言学和计算机 科学组合而成

5.1自然语言处理的目标

人机交互

  • 问答搜索
  • 闲聊对话
  • 指令操作
  • 机器翻译 …
  • 辅助生活和工作,其价值随着机器能力边界的提升而不断增加

数据分析与挖掘

  • 舆情分析
  • 文本分类
  • 知识抽取
  • 命名实体识别 …
  • 辅助决策和选择 其价值随着数据量增大和类别增多而不断提升

二、算法行业介绍

1、算法相关的工作

1.落地型    

主要负责业务场景的算法落地,动手能力强    需要熟悉业务场景常见问题,极端情况的处理  

 难点:小坑不断,需求总改,数据常缺,效果老降

2.研究型    

主要负责发表论文及算法比赛等,理论知识扎实     研究内容可以脱离实际业务,在公开数据集上工作    

难点:想好的思路已发表,比赛的分数被人超

2、项目人员构成

2.1、业务人员/甲方

一般是非程序员,根据业务场景需要,提出需求

2.2、产品经理

与业务对接,梳理需求,整理成开发的计划;或根据用户反馈等,提出自己的需求

2.3、开发人员

细分种类很多,人工智能方向一般大致分成算法开发和工程开发,合作处理整个项目 

2.4、测试人员

专门进行测试,也可以进一步细分,一般也需要编程能力

2.5、运维人员

机器维护人员,服务器和数据库的重启、扩容、缩容等操作由他们进行,同时负责监控服务运行的状况 Optional 部署人员、数据标注人员、项目管理人员、平台维护人员等/

3、项目主要流程&算法开发职责

1.确认需求   --  业务发起需求评审,了解业务背景,以算法人员视角给出是否可行的意见

2.确认技术方案 -- 开发进行技术评审(算法方案+工程方案),对问题的建模过程,需求转化成哪(几)种机器学习问题(或规则处理),需要哪些前置条件

3.获取标注数据 -- 算法或业务提出数据需求, 建立标注规范,校验数据格式,抽样评估效果,训练集验证集划分;搜索开源数据;购买数据

4.代码开发   -- 模型训练、功能开发等,训练/预测代码开发,算法实验,对比效果

5.测试  -- 测试用例评审 ,功能测试,效果测试,性能测试,开发可以自测,配合测试组发现的问题做修改

6.部署上线/投入使用--  开发上线,测试验证,运维监控,每个公司使用框架有差异,根据实际情况处理

7.后续迭代  --业务提出优化需求 , 数据埋点,分析日志等

4、算法工程师需要的技能
  • 1.编程能力
  • 2.算法知识储备
  • 3.沟通和协作能力
  • 4.学习能力
  • 5.一定程度的英文能力
  • 6.使用搜索引擎的能力
5、关于算法的学习
  • 1.多动手
  • 2.多思考
  • 3.温故而知新
  • 4.保持学习
  • 5.保持好心态,以及多锻炼身体!!
6、大厂VS小厂

大厂

小厂

完善的团队构成,各司其职

人均身兼数职

业务相对稳定

可能出现业务频繁变动

只负责特定任务

可以接触各类任务

基础设施和框架健全

可能自己需要做基础设施,踩一些坑

数据、机器资源相对丰富

资源相对稀少

公司生存情况相对稳定

有可能有生存危机

周围牛人多

周围可以讨论的人少

升值加薪速度平缓

有可能短时间大涨

自己的想法很难实现,听安排

有可能获取一些决定权

跳槽容易,比较被认可

跳槽会有一定认同障碍

五险一金年假等较正规

看情况

三、一些常用的工具和框架介绍

1.NLP常用工具

1.1编辑器

  • Pycharm: 推荐
  • VSCode:   推荐
  • Spyder:也凑合
  • Python 自带 ide:别难为自己
  • Vim:linux中使用,需要掌握
  • 记事本:教不了

顺手就行,总有一款适合你!

1.2 机器学习相关python框架
  • Tensorflow  大名鼎鼎,工程配套完善
  • Pytorch  学术界宠儿,调试方便,目前的主流
  • Keras  高级封装,简单好用,现已和Tensorflow合体
  • Gensim  训练词向量常用
  • Sklearn  大量机器学习算法,如逻辑回归,决策树,支持向量机,随机森林,KMeans等等,同时具有数据集划分和各种评价指标的实现
  • Numpy  各种向量矩阵操作
2、个人环境

版本不需要完全一致(可以更高),仅做参考

  1. python 3.12.4
  2. torch  2.4.1
  3. transformers  4.44.2
  4. peft  0.12.0
  5. Scikit-learn     1.4.2
  6. Numpy  1.26.4
  7. Pandas   2.2.2

少造轮子多用库!

Logo

openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。

更多推荐