1.2 Career
简介
工作回顾,当前工作,未来展望
职业规划:¶
AI模型算法特别卷,规划成为拥抱开源技术和芯片无关的AI Infra架构师。
- 预期并高效测量各组件指标
- 快速分析并理解AI模型瓶颈。
- 并有些趁手工具(简单、灵活、性能):能简单使用、灵活拓展、性能极致。
PL¶
管人:
- 人员的招聘、离职;
- 人力的工作安排;
- 人员的身心健康、工作效率、工作态度、服从性;
- 人员的绩效评议考核。
SE¶
system engineer 系统工程师负责领导产品版本的系统分析和设计团队,主持产品版本系统分析和设计,是产品版本的技术总负责人,负责完成产品版本的需求分析、架构和系统设计活动,负责产品的技术竞争力。
细节
- 客户关键战场:需要多交流,看客户需要什么关键共通的特性;
- 思考下半年,下一年的工作核心:足够承载绩效的工作量,合适渐进的难度,最终的成果能落回自己的版本(无论是直接做到自己的交付件里,还是变成开源的自己会用的子工具),变成自己组的核心竞争力。
- 做出来的交付件(软件,开源工具,技术汇报)要自己可控,落到自己版本里。
SE要点(PL视角)
- 第一个,就是技术深度,对于具体技术;
- 会调研,能分析,会设计、能决策。
- 第二个,就是领域的意识,
- 明确哪些工作成果能落到自己领域内;
- 能够主动做好领域内的规划,突破关键问题;
- 第三个,就是版本的意识,在对接客户、解决问题的时候,回答也可以多想想
- 竞争力/特性规划:竞争力 = 质量/成本/进度 三角;保证质量优先。
角色1:子系统或特性竞争力的构建者
- 业务、技术竞争分析;(业界和学界的技术流派分析)
- 功能分解分配;
- 模块间接口定义与维护管理;
- 相关DFX落地实施。
角色2:客户需求和架构的传承者
- 参与需求分析;
- 参与架构设计,输出特性设计相关文档;
- 承担子系统或特性规格。
规格 (Specification) 的含义
规格(Specification,通常简称为 Spec)是指一个详细的文档或蓝图,用于描述子系统或特性应该如何工作、它需要满足哪些要求以及它的设计细节。它回答了以下关键问题:
- “做什么” - 需求分析 (Requirements)
这是规格的核心。工程师需要将高层次的业务需求或用户需求转化为清晰、可测试、无歧义的软件需求。
- 功能性需求 (Functional Requirements): 它必须做什么?(例如:系统必须允许用户通过用户名和密码登录。)
-
非功能性需求 (Non-functional Requirements): 它必须做得有多好?(例如:系统响应时间必须在 2 秒以内;系统必须有 99.9% 的正常运行时间。)
-
“如何做” - 设计 (Design)
这是将需求转化为具体技术方案的步骤。
- 设计细节: 描述子系统的内部结构、模块划分、使用的技术栈、数据结构和算法选择等。
- 接口定义: 明确该子系统或特性如何与其他子系统或外部系统进行交互(输入、输出、API)。
- 数据模型: 确定所需的数据存储结构(例如:数据库表结构)。
角色3:子系统或特性相关的技术方案的仲裁者
- 领域/产品版本CCB的核心组成员,对子系统或特性技术方案的决策负责。
角色4:设计能力提升的建设者
- 关键技术识别;
- 设计工具、方法应用和共享;
- MDE设计能力的辅导与培养。
角色5:设计方案落地的责任者
- 指导MDE、开发人员进行设计方案落地;
- 评估子系统/特性的实现质量,并改进。
角色6:产品市场成功的技术支撑者
- 参与重点项目/重点客户技术交流;
- 相关技术问题解决。
MDE¶
Module Design Engineer:软件开发项目中的一个角色。在开发组长的带领下,与软件工程师协同,主要负责软件需求分析、模块设计和模块系统测试。
角色1:模块设计的责任者
- 模块内功能分解分配;
- 模块内接口定义/参数定义及维护管理;
- 模块总体方案或软件代码框架设计;
- 模块跨版本设计一致性保证;
- 模块内DFX落地;
- 模块设计的持续维护。
- 设计和实现模块内部核心代码,审核并批准内外部接口改动,组织模块级代码重构,避免代码架构腐化。
角色2:系统设计的传承人和实施者
- 参与系统设计,并负责系统设计方案在本模块中的实施,输出模块设计相关文档;
- 核心算法、核心部件(代码)实现。
角色3:模块技术的把关者
- 模块内技术决策;
- 模块内技术识别与技术能力提升;
- 模块关键技术问题解决。
计算机职业规划¶
- 自底向上分析理解和设计计算系统(系统建模与高层次的抽象) + 企业核心落地应用
- 融入公司的核心竞争力的发展。参与到低延迟,高并发的高性能系统的设计。(使用、理解、设计)
- 传统应用的优化入手,分析计算系统的上限和程序的性能释放瓶颈,从而了解系统瓶颈。并考虑上异构的系统或者FPGA来解决。
以性能优化为切入点,系统建模和分析数据流程之后,解析程序瓶颈(深入了解对应操作系统是如何调度实现的,来深入了解内核),探寻性能最佳的执行手段。
华为相对互联网大厂靠什么吸引人
面对AI大厂,华为在下面有劣势
- 工资、公积金、午餐补贴福利
- 年假、加班(9116,互联网10105)、需要打卡、自然灾害不放假。
- 学习时,不可避免需要学习很多华为硬件独有的知识,这些互联网也用不到。
华为优势是什么:
- 园区环境、社区学术氛围、做国产芯片的理想
- 学习的空间更大;我花了蛮久来转专业和学AI相关知识。
难以评判的地方:
- IPD流程,华为有一套严格的开发流程:初期调研 -> 需求规划 -> 需求开发 -> 测试验收 -> 长期看护。
- 好的方面是: 十分规范,和别人容易对接任务。
- 被批评的地方:流程繁琐,自己给自己套上枷锁。
华为的策略:
- 基本不会招搞算法的,钱要得更多;
- 只招聪明人,然后从头培养。我们部门很多外部和跨专业的。
电子市场分析?¶
To do :
- 分 C端、G端、B端分析
- 结合产业规模,
- 行业发展程度,当前状态(是否有瓶颈,还是需求端不足)。
计算机的经济价值在哪里?= 没有计算机会怎么样?¶
数字化的工作流能享受到摩尔定律的加速
"Once a technology becomes digital-that is,once it can be programmed in the ones and zeros of computer code-it hopes on the back of Moore's law and begins accelerating exponentially."
- Peter H.Diamandis Steven Kotler, The Future Is Faster Than You Think
- 重复事情只需编程一次;
- 自动化 (类似加减乘除计算器的各种程序,可以暴露api以黑盒的情况下快速给出准确结果或者推荐选项, 这里主要指利用计算机的计算能力)
- 开发难点:可用(基于特定算法,或者大数据喂给AI)、易用、好用(性能)。
- 没有明显先发优势,由于没有生态概念、迁移门槛低,客户只会选择好用、便宜和高性能的。
- 核心竞争力:软件如何实现 大规模,高并发,高利用率(算法,实际技巧)
- 便利性 (资源整合平台类似美团打车之类的,考验计算系统的数据库和网络,对应的低延迟,高并发)
- 开发难点:好用(快响应,低延迟),长期运维的稳定性
- 明显的先发优势:用户生态形成壁垒。参与对象越多、越好用、用户依赖程度越高。
- 核心竞争力:与人的交互的软件设计思路(飞书企业协作管理,集成了项目进度的allInOne极简模板平台),最全面的资源(美团最多的店家、高德最详细的地图、M站最多的种子数、B站最多泛二次元群体),稳定的运行,比用户需求高的快响应,低延迟性能。
- AI全面解放人类(具体指AI代替人做事情,解放人类,e.g., 机器人,自动驾驶,AI编程)
- 开发难点:当前AI必须有下面几点才能快速向AGI发展:
- 人类思考问题的正确逻辑链
- 基于已有的知识(世界模型),有识别输入知识的正确性的能力。
- 这样基于正确的知识的正确的推导,才能形成正确的结果。乃至真理(
毁灭人类是必须的)。并在计算机的高速无休止运行下快速成长。 - 也就是说AGI要有明显的人格特质,不是指说话的语气,而是AGI的每个观点要是经过思考达到和谐平衡的结果。当然不排除思考过程中死循环的事情,比如先有鸡还是先有蛋。
- 当前AI,只能接受数据集的知识,没有自我思考并选择的过程
- 核心竞争力:支持AGI的计算系统是什么样子的呢?
- 抽象来思考:计算、访存、网络是三部分基石。类似人形机器人的设计。计算单元来实现大量内存记忆数据的读取 和 网络实时交互学习信息的 过滤思考
- 性能指标:低延迟,高吞吐。
- 计算单元:针对思考过程的特殊操作设计,数学推导关系的实现?集合论?是非关系?这种场景下还需要GPU的这么多核并发吗?
- 内存要考虑的是存算一体的可能性?不然就是吞吐和延迟
Costume 端 特有的:
- 内容生产(AIGC)
- 开发难点:达到人类审美的AI内容
- 没有明显的先发优势, 生成内容的风格会筛选用户。
- 核心竞争力:支持的生成方面广(生成内容的风格需要能定制化),内容质量高,速度快。
- 文娱产业(电子游戏,视频内容)
- 开发难点:丰富的游戏细节,和与时俱进的美术。
- 没有明显的先发优势, 游戏内容的精度和新鲜感是最重要的。
- 核心竞争力:如何实现工业化的高级美术和剧情产出(AIGC?)。
计算机行业为什么赚钱? 这个理由能持续下去吗?¶
- 门槛低,一台笔记本就可以写软件,从便利的各种小工具,到大型软件。
- 在专利保护下软件复制成本近乎零,收益稳定。可以实现薄利多销。
- 低成本复用性:一个APP开发好之后,可以在不同位置和时间无成本复制(指每个人可以在任意时刻使用软件服务)。 第一产业生产的粮食和工业制品都是生产一个消耗一个。服务业也是一次性的。
- 无损耗,实现后可以长期生效。是少数跨越时间长河的永恒的东西。
- 但是在激烈的竞争下,软件都趋向免费化。靠基于庞大用户群体的平台抽成和附加高级服务(云盘会员,游戏附加充值)来实现。或者是靠免费化吸引一波用户。
- 芯片硬件流片周期长,成本高