AI+HPC 部署优化面试范围分享

news2024/9/22 7:38:45

背景

最近几年生成式AI技术和自动驾驶技术发展发展很快,这些行业对于算法的运行效率有很高的要求,尤其一个模型在训练完成后运行到设备上,需要大量的工作,包括模型的剪枝、蒸馏、压缩、量化、算子优化、系统优化等。

对于传统的算法岗位在互联网基本已经饱和,干的工作比较低级,据我了解到基本是做数据清理和调参,这些岗位在未来基本没有竞争性。对于传统互联网的算法岗位,我是不看好的,目前最火也就是做做推荐算法,还算不错,但是现在特别卷,基本没有好的学历和paper很难进去。

未来是AI的时代是大家的一个共识,目前AI行业的一个难题是算力问题,算力就是成本,能够通过极致的优化使得算法在不同架构的处理器上高效运行,榨干芯片的极致性能,这是当前非常重要的一个工作,我从BOSS了解到最近2年有关AI算法部署、AI算子开发、模型优化岗位增多,而且薪资较高,且竞争压力比较小,要求主要是算法在不同平台上的极致性能优化,对算法设计的要求低一些,偏工程化。

面试

网上搜索有关的面试经验,基本不太全面,实际的问题和方向,相对于一些后端开发和算法岗位实在少得可怜,这也说明这个方向还不太卷,有着极大的机会,说实在的,这些年走来发现机会大于一切努力,但是机会一般只在一定的窗口期产生,错过就没有了。

以下是我总结我在面试AI部署、模型优化、深度学习模型部署等岗位过程中的一些范围,先写一些整体的方向,后续有机会我会分享具体的面试经验。

  • 基本技能

    • C/C++、多态、模板、引用、智能指针、STL、内存管理等,会持续深入,甚至会让实现一些比如:解决循环引用、智能指针的实现。

    • AI的基础知识,整体的训练的流程、算子的计算对比、深度学习的基本知识,pytorch等框架,网络结构,目前流行的网络结构、transformer、YoLo系列、LLMs、BEV、GPTs、BERTs等。

    • 模型推理部署优化的整体了解,把握其中的一些点,模型的剪枝、int8量化、算子融合等计算图的优化;算子优化,涉及kernel的实现,这里会要求手写实现,比如3x3 conv2d和矩阵乘;内存、通信方面的优化,内存池,通信等。

    • 一些硬件体系结构,主要是存储体系结构、x86、ARM;知识有Cache、寄存器、内存控制器、总线、Intrinsic指令、矢量编程、汇编;要求能够了解CPU优化的核心。

  • 重点题

    • 一般会问你一个模型推理优化的手段有哪些,准备怎么做,如何极致优化,如何使用profiling工具、如何判断该模型的优化瓶颈和重点在哪里,如何判断这个模型无法往下优化了,如何快速找到优化这个模型的最好的方法

    • 手撕kernel 算子开发,一边撕,一边问,直到不会,常见的有:矩阵乘、conv2d 优化、矩阵转置,占比80%

    • 手撕LeetCode,上面回答的好,这里可能简单些,占比20%,说实在的LeetCode手撕,个人认为没有太多意义,就是验证下你是否有编程过

  • 个人项目

    根据简历情况问

    • NVIDIA CPU的体系结构、内存模型、线程模型,CUDA算子优化

    • OpenCL算子优化,具体优化手段

    • AI编译器的一些知识和优化、TVM、代码生成等

    • 一些推理引擎、TensorRT、OpenVINO、OpenPPL等

    

根据上面看到的,大家不难看出想要掌握这些知识非常的不容易,但这也是壁垒,我看到的是这个行业目前没有35岁之说,而且随着时间的增加优势会不断的扩大,AI的快速发展、要求我们时刻进步,未来只有使用AI的人和被AI淘汰的人。

有兴趣可以关注我的专栏《高性能开发基础教程》

该文章首发于 subscriptions极空AI,后续我会在上面整理完整的AI+HPC资料,并提供相关书籍推荐,至于视频要不要录制,看大家需要不需要。

有兴趣的可以关注。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1944958.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

浏览器的最大并发数(http1.1)

HTTP/1.1:每个资源请求通常需要单独的TCP连接,尽管支持Keep-Alive机制,允许在同一个TCP连接上连续发送多个请求。但通常浏览器限制并发TCP连接数(例如,每个域名最多6个并发连接)。 HTTP/2:引入…

C++:函数对象和函数调用运算符(函数、函数指针、lambda函数对象、bind创建的对象、重载了函数调用符的类对象)

函数对象和函数调用运算符 A.What(函数对象) 如果类定义了函数调用运算符,则该类的对象称为函数对象 其中重载的运算符operator()被称为函数调用运算符 B.Which(有哪些可调用函数对象) 函数:一般函数&…

UE4-打包游戏,游戏模式,默认关卡

一.打包游戏 注意windows系统无法打包苹果系统的执行包,只能使用苹果系统打包。 打包完之后是一个.exe文件。 打包要点: 1.确定好要操控的角色和生成位置。 2.设置默认加载的关卡和游戏模式。 在这个界面可以配置游戏的默认地图和游戏的模式,…

springboot+webSocket对接chatgpt

webSocket对接参考 话不多说直接上代码 WebSocket package com.student.config;import com.alibaba.fastjson2.JSONArray; import com.alibaba.fastjson2.JSONObject; import lombok.extern.slf4j.Slf4j; import org.springframework.http.MediaType; import org.springfram…

C#知识|账号管理系统:实现修改管理员登录密码

哈喽,你好啊,我是雷工! 本节主要记录实现修改管理员登录密码的后端逻辑及相关功能,以下为学习笔记。 01 实现逻辑 ①:首先输入原密码,验证,验证通过然后可以输入新密码进行修改; ②:新密码修改为了避免输入失误导致输入的密码与自己以为修改的密码不符的情况,增加了…

Langchain核心模块与实战[7]:专业级Prompt工程调教LLM[输入输出接口、提示词模板与例子选择器的协同工程]

Langchain核心模块与实战[7]:专业级Prompt工程调教LLM[输入输出接口、提示词模板与例子选择器的协同工程] 1. 大模型IO接口 任何语言模型应用的核心元素是…模型的输入和输出。LangChain提供了与任何语言模型进行接口交互的基本组件。 提示 prompts : 将模型输入模板化、动态…

**卷积神经网络典型CNN**

LeNet:最早用于数字识别的CNN AlexNet:2012年ILSVRC比赛冠军,远超第二名的CNN,比LeNet更深,用多层小卷积叠加来替换单个的大卷积 ZF Net:2013ILSVRC冠军 GoogleNet:2014ILSVRC冠军 VGGNet&a…

go语言Gin框架的学习路线(十一)

目录 GORM的CRUD教程 更新操作 更新所有字段 更新指定字段 使用 Select 和 Omit 更新 无 Hooks 更新 批量更新 删除操作 删除记录 批量删除 软删除 物理删除 示例代码 GORM的CRUD教程 CRUD 是 "Create, Read, Update, Delete"(创建、查询、…

百度,有道,谷歌翻译API

API翻译 百度,有道,谷歌API翻译(只针对中英相互翻译),其他语言翻译需要对应from,to的code 百度翻译 package fills.tools.translate; import java.util.ArrayList; import java.util.HashMap; import java.util.Lis…

windows服务器启动apache失败,提示请通过cmd命令行启动:net start apache

Windows Server 2012 R2服务器突然停止运行apche,启动apache失败,提示请通过cmd命令行启动:net start apache 1.报错截图: 进入服务里输入命令启动也不行,提示由于登录失败而无法启动服务。 2.问题原因: 服务器www用…

数据库(MySQL)-DQL数据查询语言

DQL(Data Query Language 数据查询语言)的用途是查询数据库数据,如select语句。其中,可以根据表的结构和关系分为单表查询和多表联查。 单表查询 单表查询:针对数据库中的一张数据表进行查询 全字段查询 语法:select 字段名 fro…

User Allocation In MEC: A DRL Approach 论文笔记

论文:ICWS 2021 移动边缘计算中的用户分配:一种深度强化学习方法 代码地址:使用强化学习在移动边缘计算环境中进行用户分配 目录 Ⅰ.Introduction II. MOTIVATION-A.验证假设的观察结果 II. MOTIVATION-A Motivating Example 数据驱动…

我在百科荣创企业实践——简易函数信号发生器(5)

对于高职教师来说,必不可少的一个任务就是参加企业实践。这个暑假,本人也没闲着,报名参加了上海市电子信息类教师企业实践。7月8日到13日,有幸来到美丽的泉城济南,远离了上海的酷暑,走进了百科荣创科技发展有限公司。在这短短的一周时间里,我结合自己的教学经验和企业的…

C#,.NET常见算法

1.递归算法 1.1.C#递归算法计算阶乘的方法 using System;namespace C_Sharp_Example {public class Program{/// <summary>/// 阶乘&#xff1a;一个正整数的阶乘Factorial是所有小于以及等于该数的正整数的积&#xff0c;0的阶乘是1&#xff0c;n的阶乘是n&#xff0…

【学习笔记】无人机系统(UAS)的连接、识别和跟踪(五)-无人机跟踪

目录 引言 5.3 无人机跟踪 5.3.1 无人机跟踪模型 5.3.2 无人机位置报告流程 5.3.3 无人机存在监测流程 引言 3GPP TS 23.256 技术规范&#xff0c;主要定义了3GPP系统对无人机&#xff08;UAV&#xff09;的连接性、身份识别、跟踪及A2X&#xff08;Aircraft-to-Everyth…

Samtec技术科普小课堂 | 一文入门射频连接器~

【摘要/前言】 在本文中&#xff0c;我们将回到基础知识&#xff0c;了解一下什么是射频连接器。如果您是信号完整性专家&#xff0c;请点击阅读原文访问我们的网站视频&#xff0c;通过我们的网络研讨会视频了解教科书上可能找不到的知识。 如果您是电气工程领域的新手&#…

Prometheus 监控Tomcat等java应用的状态

5月应用服务出现问题&#xff0c;当别的小伙伴问我&#xff0c;有没有Tomcat等应用状态的监控的时候&#xff0c;我有点儿尴尬。所以赶紧抽空部署一下。 在配置之前&#xff0c;就当已经会安装jdk和tomcat了。 一、下载jmx_exporter #linux下 cd /usr/local/prometheus wget …

新增ClamAV病毒扫描功能、支持Java和Go运行环境,1Panel开源面板v1.10.12版本发布

2024年7月19日&#xff0c;现代化、开源的Linux服务器运维管理面板1Panel正式发布了v1.10.12版本。 在这一版本中&#xff0c;1Panel新增了多项实用功能。社区版方面&#xff0c;1Panel新增ClamAV病毒扫描功能、支持Java和Go运行环境&#xff0c;同时1Panel还新增了文件编辑器…

浪潮GS企业管理软件GetChildFormAndEntityList存在反序列化漏洞

一、漏洞简介 浪潮GS 面向大中型集团企业采用SOA 架构和先进开放的GSP 应用中间件开发,形成了集团管控13 大领域15 大行业60余个细分行业的解决方案。在管理方面,浪潮GS 有效帮助企业有效实现财务集中管理、资金集中管理、资产集中管理、供应链集中管理,从而达到集团信息的…

案例|华能某风电场配电房智能巡检机器人解决方案

随着风电产业的迅猛发展&#xff0c;风电场内配电房是风电场电能传输和转换的关键节点&#xff0c;其设备运行状况直接影响到风电场的整体运行效率和安全性。传统的人工巡检方式存在效率低、误差大、安全风险高等问题&#xff0c;难以满足现代风电场对高效、可靠运维的需求。智…