如何更好地优化多核 AI 芯片
在人工智能和机器学习应用数据处理的强劲需求下,大规模并行计算迅速兴起,导致芯片复杂性呈现爆炸式增长。这种复杂性体现在 Cerebras 晶圆级引擎(如下图)等设计中,该设计是一种平铺多核、多晶片设计,将晶体管数量增加至数万亿个,拥有近百万个计算内核。
人工智能 (AI) SoC 的市场持续增长,竞争也日趋激烈。半导体公司根据性能、成本和灵活性,来找到自己的定位,并不断自我优化,从而导致了新型多核架构的爆发式增长。系统架构师正在尝试不同的方法,希望可以将这种复杂性转化为竞争优势。
在所有复杂性来源中,有一个在多核 AI SoC 中非常重要的来源:即当有多个线程在共享数据上并行运行时,会出现功能错误和性能降低问题。过去,设计人员可以使用经典的 CPU 运行控制来调试问题,但这种方法对多核架构并无效果。导致软件问题的根本原因错综复杂,包括往返时延、内核数量、控制和数据并行、多层层次结构和互相依赖的进程,设计人员从中找出真正根源的机会渺茫。
另外,设计人员还需要考虑软硬件协同优化,这需要大量的功能分析。为了在 SoC 上部署 AI 应用,设计人员必须编译源代码,以充分利用多核架构。这通常需要充分了解 SoC 架构的定制工具链。这个过程包括一个硬件和软件优化及测试周期,从 SOC 仿真开始,一直贯穿至第一次投片和后续器件迭代,如下图所示。
通过这一功能分析周期,团队能够了解以下内容:
数据共享的效率;
- 片上网络 (NoC) 是否超载或不平衡;
- 如何在不影响代码执行的情况下评估应用性能;
- 如何优化内存控制器配置文件以提升数据处理能力;
- 如何关联整个 SoC 中的事件;
要做到这一点,我们需要一种全新的方法来优化 AI SoC 及其上面运行的软件。要将高质量的 AI SoC 及时推向市场并在完成部署后保持性能,必须要进行系统范围的功能分析。系统范围功能分析的部分功能包括:
- 深入洞察子系统或组件 ;
- 对整个系统从启动开始的准确、连贯的全景图;
- 事物感知(Transaction-aware) 的互连监控和统计信息;
- 传统的处理器运行控制和追踪;
- 支持所有常见的指令集和互连协议;
- 提供选择或更改重要子系统的灵活性;
- 用于产生数据可见性的灵活强大的工具;
用于监控和分析 IP 的片上基础架构和软件提供了所有这些功能,覆盖范围可从仿真到部署。下图即显示了 SoC 功能监控和分析的典型架构。
接下来的图中展示的示例是一个多核芯片配备片上网络 (NoC) 监视器,可跟踪所有 NoC 事务到循环缓冲器。由于 NoC 监视器具有事务感知功能,可将其配置为检测特定总线条件,例如导致事务持续时间超过特定阈值(按周期数计算)的死锁。当超过阈值时,NoC 监视器可以输出死锁事务以及之前事务的详细信息,以便对问题进行诊断。
同一个 NoC 监视器也可配置为在检测到相同死锁条件时——例如通过跟踪硬件加速器行为的状态监视器模块——使用嵌入式分析消息基础设施的交叉触发功能,在系统中的其他位置触发跟踪。
了解实施有效的系统验证和优化环境时涉及的问题,是成功交付多核 SoC 的关键,与该领域内的专业供应商合作可实现事半功倍的效果。
估计好多人早就听说过 AI 画手“ 不会画手 ” 的笑话了。细数起来, AI 在这上头翻的车,那可是掰着手指头都数不过来:
时间是最神奇的滤镜。不久前,迪士尼公司发布了一个专用于影视制作的年龄调整算法 ,可以让演员变得更年轻或更年老。这种算法可以让年老的演员扮演年轻人,反之,也可以让年轻演员扮演自己老年时。这样的效果虽然并不足以用于漫威电影,但它也是换脸技术迈出的新一步。
作为“ChatGPT学家“,上次刚刚和大家介绍完什么是ChatGPT,它都拥有什么能力。作为OpenAI发布的一款产品,ChatGPT刚刚面世的时候就惊艳到了我们所有人,并且我们预测ChatGPT很有可能会取代很多我们人类的岗位。
3月15日,OpenAI 正式发布 GPT-4。据悉,这是迄今为止规模最大、功能最强大的多模态预训练模型,甚至超越了此前震惊全球的Chatgpt。GPT-4实现了语言和视觉的融合,使计算机更好地理解人类交流方式,推动了智能对话系统的发展。它的推出有望为自然语言处理和人工智能领域的进一步发展带来巨大的推动。
自《星际迷航》首映以来的半个世纪里,该科幻影视系列影片中出现的许多遥远未来的技术,现在都已经进入了我们的生活。