机器学习平台在Kubernetes上的实践 资源不能最大化的利用
过去音乐算法的模型训练任务,是在物理机上进行开发、调试以及定时调度。每个算法团队使用属于自己的独立物理机,这种现状会造成一些问题。比如物理机的分布零散,缺乏统一的管理,主要依赖于doc文档的表格记录机器的使用与归属;各业务间机器资源的调配,有时需要机器在不同机房的搬迁,耗时耗力。另外,由于存在多人共用、开发与调度任务共用等情况,会造成环境的相互影,以及资源的争夺。针对当前的情况,总结问题如下:
资源利用率低:部分机器资源利用率偏低;无法根据各个业务的不同阶段,在全局内快速、动态的实现扩缩容,以达到资源的合理配置,提升资源整体利用率; 环境相互影响:存在多人共用、测试与调度混用同一开发机,未做任何的隔离,造成可能的环境、共享资源的相互影响与争夺; 监控报警缺失:物理机模式,任务监控报警功能缺失,导致任务无法运维,或者效率低。
资源没有全局统一的合理调配,会出现负载不均衡,资源不能最大化的利用。
Kubernetes的尝试
在快速的扩缩容、环境隔离、资源监控等方面,Kubernetes及其相关扩展,可以很好的解决问题。现将物理机集中起来,并构建成一个Kubernetes集群。通过分析算法同事以往的工作方式,机器学习平台(GoblinLab)决定尝试基于Kubernetes提供在线的开发调试容器环境以及任务的容器化调度两种方案,其分别针对任务开发和任务调度两种场景。
任务开发
为最大化的减少算法同事由物理机迁移到容器化环境的学习成本,GoblinLab系统中基本将Kubernetes的容器当做云主机使用。容器的镜像以各版本Tensoflow镜像为基础(底层是Ubuntu),集成了大数据开发环境(Hadoop、Hive、Spark等Client),安装了常用的软件。另外,为了方便使用,容器环境提供了Jupyter Lab、SSH登录、Code Server(VSCode)三种使用方式。
在GoblinLab中新建容器化开发环境比较简单,只需选择镜像,填写所需的资源,以及需要挂载的外部存储即可(任务开发的环境下文简称开发实例)。
新建环境配置后,点击启动实例,容器初始化时,会自动启动Jupyter lab、SSH以及CodeServer。
Jupyter Lab:
Code Server:
SSH登录:
算法可以选择以上任意一种方式进行任务的开发,或者调试。由于提供了Code Server(VSCode),所以可以获得更好的体验。
任务开发所用的容器化环境,在底层Kubernetes上是通过StatefulSet类型实现,对应资源编排文件如下(已精简细节):
kind:StatefulSetapiVersion:apps/v1metadata:name:${name}namespace:"${namespace}"spec:replicas:1selector:matchLabels:statefulset:${name}system/app:${name}template:spec:<#if(gpu>0)>tolerations:-effect:NoSchedulekey:nvidia.com/gpuvalue:"true"<#ifusePrivateRepository=="true">imagePullSecrets:-name:registrykey-myhubvolumes:-name:localtimehostPath:path:/etc/localtime<#ifMountPVCs??&&(MountPVCs?size>0)><#listMountPVCs?keysaskey>-name:"${key}"persistentVolumeClaim:claimName:"${key}"containers:-name:notebookimage:${image}imagePullPolicy:IfNotPresentvolumeMounts:-name:localtimemountPath:/etc/localtime<#ifreadMountPVCs??&&(readMountPVCs?size>0)><#listreadMountPVCs?keysaskey>-name:"${key}"mountPath:"${readMountPVCs[key]}"readOnly:true<#ifwriteMountPVCs??&&(writeMountPVCs?size>0)><#listwriteMountPVCs?keysaskey>-name:"${key}"mountPath:"${writeMountPVCs[key]}"env:-name:NOTEBOOK_TAGvalue:"${name}"-name:HADOOP_USERvalue:"${hadoopUser}"-name:PASSWORDvalue:"${password}"resources:requests:cpu:${cpu}memory:${memory}Gi<#if(gpu>0)>nvidia.com/gpu:${gpu}limits:cpu:${cpu}memory:${memory}Gi<#if(gpu>0)>nvidia.com/gpu:${gpu}
目前GolbinLab已提供基于Tensoflow各版本的CPU与GPU通用镜像11个,以及多个定制化镜像。
任务调度
算法同事在使用容器化环境之前,任务的开发调度都是在GPU物理机器上完成,调度一般都是通过定时器或crontab命令调度任务,任务无失败、超时等报警,以及也没有重试等机制,基本无相关的任务运维工具。
在介绍容器中开发的任务如何上线调度之前,先简要介绍一下GoblinLab的系统架构。
上图为GoblinLab简化的系统架构,其中主要分为四层,由上到下分别为:
Application-应用层:提供直接面向用户的机器学习开发平台(GoblinLab) Middle-中间层: 中间层,主要是接入了统一的调度、报警、以及配置等服务 Wizard-执行服务: 其提供统一的执行服务,提供包含Kubernetes、Spark、Jar等各类任务的提交执行。插件式,支持快速扩展 Infrastructure-基础设施: 底层的基础设施,主要包含Kubernetes集群、Spark集群以及普通服务器等
GolbinLab为了保障调度任务的稳定性,将任务的开发与调度拆分,改变之前算法直接在物理机上开发完任务后,通过定时器或者crontab调度任务的方式。如上图所示,在开发完成后,任务的调度是通过任务流中的容器化任务调度组件实现,用户需填组件的相关参数(代码所在PVC及路径,配置镜像等),再通过任务流的调度功能实现任务调度。与任务开发不同,每个调度任务执行在独立的容器中,保证任务间相互隔离,同时通过后续介绍的资源隔离方案,可以优先保障线上调度任务所需资源。
任务调度执行的一般流程如下:
任务调度执行时在Kubernetes上资源编排文件(已精简细节):
apiVersion:batch/v1kind:Jobmetadata:name:${name}namespace:${namespace}spec:template:spec:containers:-name:jupyter-jobimage:${image}env:-name:ENV_TESTvalue:${envTest}command:["/bin/bash","-ic","cd${workDir}&&${execCommand}/root/${entryPath}${runArgs}"]volumeMounts:-mountPath:"/root"name:"root-dir"resources:requests:cpu:${cpu}memory:${memory}Gi<#if(gpu>0)>nvidia.com/gpu:${gpu}limits:cpu:${cpu}memory:${memory}Gi<#if(gpu>0)>nvidia.com/gpu:${gpu}volumes:-name:"root-dir"persistentVolumeClaim:claimName:"${pvc}"backoffLimit:0
权限控制
容器化开发环境配置启动后,用户可以通过SSH登录、CodeServer或JupyterLab等其中一种方式使用。为了避免容器化开发环境被其他人使用,GoblinLab给每种方式都设置了统一的密钥,而密钥在每次启动时随机生成。
1、随机生成密码
2、设置账号密码(SSH登录密码)
echo"root:${password}"|chpasswd
3、设置Code Server密码 (VSCode)
#设置环境变量PASSWORD即可env:-name:PASSWORDvalue:"${password}"
4、设置Jupyter Lab密码
jupyternotebook--generate-config,~/.jupyter目录下生成jupyter_notebook_config.py,并添加代码importosfromIPython.libimportpasswdc=c#pylint:disable=undefined-variablec.NotebookApp.ip='0.0.0.0'#https://github.com/jupyter/notebook/issues/3946c.NotebookApp.port=int(os.getenv('PORT',8888))c.NotebookApp.open_browser=FalsesetsapasswordifPASSWORDissetintheenvironmentif'PASSWORD'inos.environ:password=os.environ['PASSWORD']ifpassword:c.NotebookApp.password=passwd(password)else:c.NotebookApp.password=''c.NotebookApp.token=''delos.environ['PASSWORD']
数据持久化
在Kubernetes容器中,如无特殊配置,容器中的数据是没有进行持久化,这意味着随着容器的删除或者重启,数据就会丢失。对应的解决方法比较简单,只需给需要持久化的目录,挂载外部存储即可。在GoblinLab中,会给每个用户自动创建一个默认的外部存储PVC,并挂载到容器的/root目录。另外,用户也可以自定义外部存储的挂载。
除了自动创建的PVC外,用户也可以自己创建PVC,并支持将创建的PVC只读或者读写分享给其他人。
另外,在Goblinlab上也可以对PVC里的数据进行管理。
服务暴露
Kubernetes集群中创建的服务,在集群外无法直接访问,GoblinLab使用Nginx Ingress + Gateway访问,将集群内的服务暴露到外部。
容器化开发环境的Service资源编排文件如下(已精简细节):
apiVersion:v1kind:Servicemetadata:name:${name}namespace:${namespace}spec:clusterIP:Noneports:-name:port-notebookport:8888protocol:TCPtargetPort:8888-name:port-sshdport:22protocol:TCPtargetPort:22-name:port-vscodeport:8080protocol:TCPtargetPort:8080-name:port-tensofboardport:6006protocol:TCPtargetPort:6006<#ifports??&&(ports?size>0)><#listportsasport>-name:port-${port}port:${port}targetPort:${port}selector:statefulset:${name}type:ClusterIP
每当用户启动一个容器化开发环境,GoblinLab将通过接口自动修改Nginx Ingress配置,将服务暴露出来,以供用户使用,Ingress转发配置如下:
apiVersion:v1kind:ConfigMapmetadata:name:tcp-servicesnamespace:kube-systemdata:"20000":ns/notebook-test:8888"20001":ns/notebook-test:8080"20002":ns/notebook-test:22
资源管控
为提高资源的利用率,GoblinLab底层Kubernetes中的资源,基本都是以共享的方式使用,并进行一定比例的超售。但是当多个团队共享一个资源总量固定的集群时,为了确保每个团队公平的共享资源,此时需要对资源进行管理和控制。在Kubernetes中,资源配额就是解决此问题的工具。目前GoblinLab需要管控的资源主要为CPU、内存、GPU以及存储等。平台在考虑各个团队的实际需求后,将资源划分为多个队列(Kubernetes中的概念为namespace),提供给各个团队使用。
apiVersion:v1kind:ResourceQuotametadata:name:skiff-quotanamespace:testspec:hard:limits.cpu:"2"limits.memory:5Girequests.cpu:"2"requests.memory:5Girequests.nvidia.com/gpu:"1"requests.storage:10Gi
在集群中,最常见的资源为CPU与内存,由于可以超售(overcommit),所以存在limits与requests两个配额限制。除此以外,其他资源为扩展类型,由于不允许overcommit,所以只有requests配额限制。参数说明:
limits.cpu:Across all pods in a non-terminal state, the sum of CPU limits cannot exceed this value. limits.memory: Across all pods in a non-terminal state, the sum of memory limits cannot exceed this value. requests.cpu:Across all pods in a non-terminal state, the sum of CPU requests cannot exceed this value. requests.memory:Across all pods in a non-terminal state, the sum of memory requests cannot exceed this value. http://requests.nvidia.com/gpu:Across all pods in a non-terminal state, the sum of gpu requests cannot exceed this value. requests.storage:Across all persistent volume claims, the sum of storage requests cannot exceed this value.
可以进行配额控制的资源不仅有CPU、内存、存储、GPU,其他类型参见官方文档:https://kubernetes.io/docs/con ... otas/
资源隔离
GoblinLab的资源隔离,指的是在同一Kubernetes集群中,资源在调度层面的相对隔离,其中包含GPU机器资源的隔离、线上与测试任务的隔离。
GPU机器资源的隔离
在Kubernetes集群中,相对于CPU机器,GPU机器资源较为珍贵,因此为了提供GPU的利用率,禁止CPU任务调度在GPU机器上。
GPU节点设置污点(Taint):禁止一般任务调度在GPU节点
key:nvidia.com/gpuvalue:trueeffect:NoSchedule
Taint的effect可选配置:
NoSchedule:Pod不会被调度到标记为taints节点。 PreferNoSchedule:NoSchedule的软策略版本。尽量避免将Pod调度到存在其不能容忍taint的节点上。 NoExecute:该选项意味着一旦Taint生效,如该节点内正在运行的Pod没有对应Tolerate设置,会直接被逐出。
GPU任务设置容忍(Toleration):让GPU任务可以调度在GPU节点
<#if(gpu>0)>tolerations:-effect:NoSchedulekey:nvidia.com/gpuvalue:"true"
线上与测试任务隔离
线上与测试任务(GolbinLab中线上任务与测试任务为业务层面的定义,指的是周期调度任务和开发测试任务)使用同一Kubernetes集群,但为了保障线上任务的资源,会特殊设置一些机器节点为线上任务的专有资源池。线上任务执行时优先调度在线上节点上,线上资源池无资源时,也可调度于非线上节点。
线上资源池节点设置污点(Taint):禁止一般任务调度在线上资源池
key:node.netease.com/node-poolvalue:onlineeffect:NoSchedule
线上任务添加容忍(Toleration):允许线上任务调度于线上资源池,但不是必须调度于线上资源池中
tolerations:-effect:NoSchedulekey:node.netease.com/node-poolvalue:"online"operator:Equal
线上资源池中机器节点设置标签 + 线上任务设置节点亲和性(nodeAffinity):优先将线上任务调度在线上资源池中,但如果线上资源池中无已资源,此时也可以调度在其他节点上
线上资源池中节点设置标签:为了方便,标签与污点同名:
node.netease.com/node-pool:online
线上任务设置节点亲和性(nodeAffinity):线上任务优先调度在线上资源池中
affinity:nodeAffinity:preferredDuringSchedulingIgnoredDuringExecution:nodeSelectorTerms:-matchExpressions:-key:node.netease.com/node-pooloperator:Invalues:-online
目前Node affinity有以下几种策略,官方文档affinity-and-anti-affinity:
requiredDuringSchedulingIgnoredDuringExecution表示Pod必须部署到满足条件的节点上,如果没有满足条件的节点,就不停重试。其中IgnoreDuringExecution表示Pod部署之后运行的时候,如果节点标签发生了变化,不再满足Pod指定的条件,Pod也会继续运行。 requiredDuringSchedulingRequiredDuringExecution表示Pod必须部署到满足条件的节点上,如果没有满足条件的节点,就不停重试。其中RequiredDuringExecution表示Pod部署之后运行的时候,如果节点标签发生了变化,不再满足Pod指定的条件,则重新选择符合要求的节点。 preferredDuringSchedulingIgnoredDuringExecution表示优先部署到满足条件的节点上,如果没有满足条件的节点,就忽略这些条件,按照正常逻辑部署。 preferredDuringSchedulingRequiredDuringExecution表示优先部署到满足条件的节点上,如果没有满足条件的节点,就忽略这些条件,按照正常逻辑部署。其中RequiredDuringExecution表示如果后面节点标签发生了变化,满足了条件,则重新调度到满足条件的节点。
策略生效后效果如下图所示, 线上任务优先执行与线上资源池节点中,但当线上资源池没有空闲资源后,线上任务Job5也可以去使用普通节点的资源。
阶段性结果
截止今日,音乐机器学习平台(GoblinLab)在容器化方面的尝试,已开展了一段时间,并且已经有了阶段性的成果。
集群建设
经过近一段时间的尝试,目前音乐数据平台的Kubernetes,随着承载的业务越来越多,以及基于Kubernetes的大数据计算平台(Flink等)的落地,后续将有大量的CPU资源加入, 其稳定性将会成为比较大的挑战。
用户使用
任务迁移:目前协助算法同事已完成80%任务迁移
任务开发
用户情况 : 已有60%算法同学使用开发实例的容器化环境;其中用户来源包含音乐推荐算法、社交视频推荐算法、搜索算法、音视频、数据应用、实时计算算法等团队 开发实例:平台鼓励组内共用开发实例,限制了每人最多创建3个开发实例 任务调度: 覆盖云音乐音乐推荐、社交视频推荐算法、搜索算法、音视频、数据应用、实时计算算法等多个团队
容器化的好处
对于算法同事,由物理机迁移到机器学习平台提供容器化的环境,能够带来的好处是:
更多资源:由于整理资源利用率的提高,将有机会获取到比之前单独使用物理机更多的资源;另外资源扩缩容的周期由之前的以天为单位减少到秒级别即可完成 更好体验:通过打通大数据、Git环境,提供多样化的使用方式(SSH和在线IDE),由机器学习平台统一维护环境镜像,避免了每个团队需自己搭建、运维环境的苦恼 更完善的任务调度:GoblinLab的调度,提供了更完善的报警、重试、依赖检查等功能,并且能够与之前已有PS、Ironbaby任务的整合,实现在一个任务流的统一调度 更好的隔离:环境隔离是容器化的天然优势。另外资源在调度层面的隔离,可以更好的保障线上任务 统一的入口:统一了开发的入口后,可以有更大的操作空间。例如将通用的服务抽象后由平台直接提供(依赖检查、调度、报警监控等等)、数据的共享、镜像的更新以及后面持续的支持服务等 后续规划
目前音乐机器学习平台已能提供完整的容器化开发基础能力,为进一步提高集群的资源利用率、提升运维效率,后续计划从资源调度策略优化(抢占等)、更丰富的资源监控等方面入手,进一步优化。
关键词: 机器学习
相关阅读
-
机器人保险新道理 智能机器人也有工伤险
在工厂车间,24小时不停流转的机器人工人与人类协作互通,共同从事... -
2022年人工智能技术成熟度曲线报告 决...
Gartner发布了最新的《2022年人工智能技术成熟度曲线》报告,报告称... -
首届人工智能安全大赛收官 决出三大冠军
以共筑AI安全 安享智能未来为主题的AISC首届人工智能安全大赛圆满... -
特斯拉有望在明年一季度开始生产电池 ...
9月14日消息,据国外媒体报道,特斯拉2019年确定建设的柏林超级工厂... -
韩国半导体出口同比增长近8% 芯片仍占...
9月13日消息,据国外媒体报道,韩国贸易、工业和能源部此前公布的数... -
2022年上半年智能汽车 净利同比增近2000%
近期,我国多家智能汽车供应链上市公司陆续公布了2022年中报,盖世...
精彩推送
-
2024 年助力品牌全域经营 SaaS 工具
海量智能是一家专注于智能营销工具研发和用户运营解决方案的创新型 -
实现全流程国产化 蜜巢政务大模型3.0重...
2024年7月4日,2024世界人工智能大会暨人工智能全球治理高级别会议 -
加速“人工智能+”总台研究院主办活动来啦
“人工智能必须是发展与治理同步,政府要划定边界,特别要在国际上加 -
国科微全系边端AI芯片闪耀WAIC2024:加...
7月4日,2024世界人工智能大会(以下简称“WAIC2024”)在上海开幕 -
钛虎科技机器人震撼发布:T170A“瑶光”...
2024年7月4日 —— 在全球瞩目的2024世界人工智能大会(WAIC)暨人... -
拐点已在眼前,北汽蓝谷积聚向上势能
伴随着中国新能源汽车市场的高速发展,各家新能源汽车企业的表现都备 -
年轻员工猝死频发:沃民高科AI引擎驱动...
在科技快速发展的今天,高强度的工作节奏已成为许多行业尤其是科技 -
强者恒存!曙光存储重磅新品再破存力上限
6月25日,曙光存储召开了主题为“先进存力,凝聚数据要素”的新品暨... -
国产“Omniverse”诞生! 联想新视界重...
近年来,以英伟达Omniverse为代表的元宇宙平台在元宇宙国际竞争中呈 -
丝芭传媒旗下美踏元宇宙和鹦鹉人启动内...
6月26日,丝芭传媒旗下酝酿已久的创新AIGPT及AIGC生成工具APP“鹦鹉 -
李德毅院士:人类的四种基本认知模式
编者按人类认知的整个活动,就是如何解释、解决人类在生存和繁衍过 -
视觉生成式AI如何引领各行各业创新?CVP...
导语:50+ 论文成果、CVPR 自动驾驶大挑战赛“端到端规模驾驶“获 -
AI下半场 宁畅智算中心以全栈全液助推...
当前,人工智能以前所未有的速度塑造各行各业,全国范围内对智算中 -
身怀全栈全液能力 宁畅打造智算中心部...
当前,人工智能以前所未有的速度塑造各行各业,全国范围内对智算中 -
淘宝直播“勇往直前的CEO”再添一员,AI...
自淘宝推出勇往直前的CEO计划以来,一大拨企业家正涌向淘宝直播间。6... -
存算“全能王”!中科可控重磅发布新一...
当前,人工智能应用快速落地、多模态大模型加速迭代,亿万数据让计 -
高能来袭|联想拯救者携手《黑神话:悟空...
从2020年首次发布实机演示视频以来,《黑神话:悟空》便在全球范围 -
YYDS!联发科携最新AI创新应用亮相COMPUTEX
近日,备受全球瞩目的COMPUTEX 2024科技展会在热烈的氛围中拉开帷 -
广西村支书用AI制作视频带货,网友:接...
近日,一则广西勒水村的新闻屡见报端,当地村民用AI做短视频带货,推广 -
COMPUTEX 2024开展:联发科大秀全景AI...
在最近开幕的COMPUTEX 2024科技展会上,联发科展示了其最新的AI技 -
“AI+全场景”!中科可控AI工作站来袭
近年来人工智能技术极速发展,“AI+”已然成为行业用户对于体验升级... -
阿丘科技:生成式AI与行业视觉大模型驱...
5月21日,阿丘科技CEO黄耀应邀参加北京机器视觉助力智能制造创新发展 -
AI赋能 智赢百业 中国移动成功举办AI+...
5月25日,在第七届数字中国建设峰会期间,中国移动举办了以“AI赋能 -
直击2024年数字中国峰会中国移动AI+行业...
5月25日,数字中国峰会中国移动AI+行业分论坛在福建福州盛大召开, -
5月23日-27日@数字中国建设峰会,每日互...
一年一度,相约福州。5月23日至27日,第七届数字中国建设峰会系列活 -
天工AI搜索解读《如懿传》的“招黑体质”
《如懿传》又“火”了。同为“宫斗”题材的清宫戏,相比于至今仍在... -
AVK119简介:SCI 最新的变频涡旋压缩机
AVK119采用三菱电机专利的最新椭圆形涡旋技术设计,与相同尺寸的压 -
普惠AI破局视觉智能化 中小企业迎来发...
在数字化转型浪潮席卷全球之际,视觉智能化作为AI技术的重要分支,正 -
官宣!仰韶彩陶坊酒连续十一年荣膺“黄...
三月三,拜轩辕。在中国传统文化的传承中,这一敬拜黄帝先祖的节日 -
全国人大代表、中国移动辽宁公司总经理...
“数字乡村建设有助于促进农业全面升级、农村全面进步、农民全面发 -
热辣滚烫 盈出精彩|LG gram Pro AI...
LG gram于今年1月份上市了首款AI超轻薄本。它延续了轻薄长续航的基 -
从这部微电影开始,传承一杯“家乡味”
年中,一曲土中带潮的《恐龙抗狼》,火爆全网;年终,一支笑中带泪 -
生成式AI就绪 英特尔发布第五代至强可...
实用化 AI 算力又升上了一个新台阶。随着AI大模型加速迭代,智能 -
泰瑞应急数字孪生底座赋能防灾减灾,提...
近年来,灾害频发,给人们的生命和财产安全带来了巨大威胁。为提升 -
借助AI 数字人,光谷电商科技为什么成...
随着AI技术的蓬勃发展,数字化时代的大幕正式拉开。在这个时代,电 -
性价比提升超30%,腾讯云发布新一代基于...
基础设施的硬实力,愈发成为云厂商的核心竞争力。11月24日,腾讯云 -
山东原创《丝路》动画片央视首播
由枣庄市一甲动漫制作股份有限公司打造的大型原创52集《丝路》动画 -
2023深圳高交会今日开展,AI创新先睹为快!
2023深圳高交会今日盛大开幕,数据显示有超过100个国家和地区组团, -
2023深圳高交会IT展盛况:AI技术成焦点...
11月15日-19日,中国国际高新技术成果交易会(简称:高交会)在深圳 -
2023第二届长三角国际汽车产业及供应链...
2023第二届长三角国际汽车产业及供应链博览会将于2023年10月26-28日 -
“全球精品家轿”2024款艾瑞泽5焕芯上市...
畅销全球80多个国家和地区、斩获全球100万用户的艾瑞泽5,再次焕新 -
Colossal-AI助力智能化升级新时代
在这个快速发展的数字化时代,人工智能(AI)作为推动社会进步的核 -
当远铁路跨焦柳线特大桥成功转体
10月11日凌晨,湖北铁路集团当远铁路跨焦柳线特大桥转体成功,为当 -
微盟集团同时入选恒生人工智能、传媒指...
9月25日,恒生指数公司推出恒生人工智能主题指数和恒生传媒指数,微 -
锐进 求新 创无限 | 品达集团产品战...
2023年9月20日,“锐进、求新、创无限” 品达集团产品战略发布会暨 -
生态出海高歌猛进,海外月销3万辆,日系...
如今,中国汽车迎来了百年一遇的窗口期,同时汽车市场也进入了白热 -
孙树峰院士:激光技术的革命,开启未来...
9月1日,在智能制造助力高质量发展高峰论坛上,俄罗斯自然科学院外籍院 -
国产车赢麻了!中国品牌车企占泰国电动...
国产车赢麻了!中国品牌车企占泰国电动车市场8成份额 -
2023新思科技开发者大会:以创新引领航...
中国上海–9月8日,芯片行业年度嘉年华“2023新思科技开发者大会”... -
基于Android™ 14 Beta的 ColorOS 1...
9月11日,OPPO开启了基于Android™14Beta的ColorOS14全球公测尝鲜,首 -
公司回应禁止管理层买、开理想汽车:情...
公司回应禁止管理层买、开理想汽车:情况属实、律师 理想官方表态 -
上市告吹后 开心汽车宣布并购威马
上市告吹后开心汽车宣布并购威马 -
格局打开!小米汽车获SIG认证:支持苹果...
格局打开!小米汽车获SIG认证:支持苹果CarPlay -
TrendForce集邦咨询: NAND Flash第四...
Sep 11,2023----近日,三星(Samsung)为应对需求持续减弱,宣布9月起扩 -
真“自动挡”来了!特斯拉新款Model 3...
真“自动挡”来了!特斯拉新款Model3可自动选择前进后退 -
“人工智能+”,点燃智能制造发展新引擎...
近日,21ic有幸采访了辽宁省人工智能学会理事长李鸿儒教授,围绕“... -
全国唯一综合性种植资源库 四川省种质...
9月9日,第二届天府国际种业博览会暨四川省种质资源中心库揭牌仪式在成 -
问界M9率先用上!华为AR-HUD有多强:75...
问界M9率先用上!华为AR-HUD有多强:75寸画幅彻底干掉仪表盘 -
一万买到多少续航?新势力又出奇怪榜单...
一万买到多少续航?新势力又出奇怪榜单:特斯拉倒数第一 -
无锡相关部门回复网友反映某学校使用过...
2023年9月8日14时50分,有网友反映无锡市梁溪区连元街小学午餐使用了过 -
礼让救护车、搬抬婴儿车……青岛街头,...
救护车呼啸而至,驾驶员快速打方向盘让出生命“通道”;乘客推婴儿... -
我要打十个!消息称华为ADS 2.0年底开...
我要打十个!消息称华为ADS2 0年底开城数量调整:覆盖全国 -
坚守三尺讲台 潜心教书育人(教育时评)
金秋九月,1800多万名人民教师迎来属于自己的节日——第三十九个教... -
联想S205CPU更换(联想s205)
来为大家解答以上问题,联想S205CPU更换,联想s205很多人还不知道,现 -
获近40亿补贴!中国电池制造商国轩高科1...
获近40亿补贴!中国电池制造商国轩高科147亿在美建厂计划敲定 -
2023年9月9日云南省南瓜批发价格行情
2023年9月9日云南省南瓜批发市场价格最新行情监测显示:2023年9月9日云 -
西甲官方:马竞vs塞维利亚将在12月23日补赛
西甲官方宣布,此前由于暴雨延期的第四轮马竞vs塞维利亚的比赛,将会推 -
国家统计局:8月份居民消费价格同比上涨...
证券时报网讯,据国家统计局,2023年8月份,全国居民消费价格同比上涨0 -
10天内至少24城“认房不认贷”,效果如...
从“认房又认贷”到“认房不认贷”,一字之别的背后,是13年来我国... -
哈尔滨多车加油后开出不远就熄火 加油...
哈尔滨多车加油后开出不远就熄火加油站:进水了、已赔付 -
坚守三尺讲台 潜心教书育人(教育时评)
金秋九月,1800多万名人民教师迎来属于自己的节日——第三十九个教... -
长江通信:9月8日融资买入553.36万元,...
9月8日,长江通信(600345)融资买入553 36万元,融资偿还567 15万元, -
八音之韵丨来听听大音希声的太古之音
于高山流水之间 聆听声律之美 于明月松林之中 感受万物空明 这是人 -
华为加持的阿维塔新车 敢要价40万?
华为加持的阿维塔新车敢要价40万? -
抽奖券怎么写(抽奖卷模板)
今天之间网超哥来为大家解答以上的问题。抽奖券怎么写,抽奖卷模板相信 -
2035年停售燃油车不现实 世界第四大汽...
2035年停售燃油车不现实世界第四大汽车集团:我要卖到2050年 -
中国首款自研车规级7纳米芯片 “龙鹰一...
中国首款自研车规级7纳米芯片“龙鹰一号”性能如何?稍差于骁龙8155 -
行业首个!Flyme Auto获得泰尔“卓越级...
行业首个!FlymeAuto获得泰尔“卓越级”认证魅族:遥遥领先 -
领克08正式上市:92英寸无界AR-HUD 20.88万起
领克08正式上市:92英寸无界AR-HUD20 88万起 -
车评头条:中期提速能力意外 海马M3 1...
汽车已经成为人们生活的必须品了,很多车的适不适合自己很生疏,现在汽 -
近况曝光!72岁知名老戏骨街头被偶遇,...
所以如今有网友在社交平台上晒出偶遇到郑则仕,并且对方还如此精神,就 -
dnf二次觉醒任务(二次觉醒任务流程)
很多人对dnf二次觉醒任务,二次觉醒任务流程不是很了解那具体是什么情 -
暑假出游景点(暑假出游好去处)
诸多的对于暑假出游景点,暑假出游好去处这个问题都颇为感兴趣的,为大 -
兆邦基地产(01660.HK):张彧获委任为执...
格隆汇9月8日丨兆邦基地产(01660 HK)公告,董事会宣布:(i)许志聪已获 -
广汇能源遭遇外资抛售49.6万股|外资买卖
外资卖出:广汇能源(600256)(600256)于2023年9月7日遭遇外资抛售,数 -
白露至 各地一片农忙景象
白露节气已至,各地农民抢抓农时,田间地头一片农忙景象。在湖北省襄阳 -
张艺谋遗憾《坚如磐石》迟到:于和伟的...
极目新闻记者戎钰国庆档看什么?由张艺谋执导的都市罪案题材电影《坚如 -
警察叔叔发布“挑战令”全市7248人挑战成功
9月8日,第三届“百日零违法文明交通好榜样”颁奖仪式在清城区举行... -
或将采用“国风”设计:哪吒X内饰公布 ...
或将采用“国风”设计:哪吒X内饰公布专为年轻人打造 -
三种配色 7座布局 广汽合创MPV V09内...
三种配色7座布局广汽合创MPVV09内饰曝光10月13日上市首发 -
担保期过不过怎么办
担保期是否已经届满,需要根据具体情况分析。1、如果在担保合同中约定 -
中国正在开展HCFCs加速淘汰行动
中新社北京9月8日电(记者阮煜琳)中国生态环境部大气环境司有关负责人8 -
大众再放大招:ID.6 CROZZ 限时官降4....
大众再放大招:ID 6CROZZ限时官降4 5万售价25 89万起 -
138度超广角!70迈3K夜视流媒体后视镜将...
138度超广角!70迈3K夜视流媒体后视镜将开售:一次能看三车道 -
乘联会:8月乘用车市场零售192万辆,同...
乘联会:8月乘用车市场零售192万辆,同比增长2 5%,零售,乘联会,乘用车市场 -
载歌载舞打一个生肖 载歌载舞打一个生...
小枫来为解答以上问题。载歌载舞打一个生肖,载歌载舞打一个生肖具体是 -
交付1.2万成合资黑马!别克E5迎首次OTA...
交付1 2万成合资黑马!别克E5迎首次OTA:上电逻辑不再反人类 -
阿塞拜疆vs比利时比赛预测 阿塞拜疆vs...
阿塞拜疆vs比利时比赛预测,风暴体育讯北京时间9月9日21:00,新赛季欧 -
工行首席技术官:银行业财富管理面临挑...
工行首席技术官:银行业财富管理面临挑战,数字化转型是大势所趋,工行, -
“原子弹之父”奥本海默开什么车?凯迪...
“原子弹之父”奥本海默开什么车?凯迪拉克认领:1941款敞篷经典