Ⅰ 重磅发布!寒武纪开源Triton-Linalg编译器前端
2024年5月28日,寒武纪开源了跨平台AI编译器前端Triton-Linalg,此举旨在降低硬件适配成本,提高集成效率。Triton-Linalg专为支持Triton语言设计,是国内首个开源的基于Linalg编译技术的AI编译器前端。它不仅支持Triton编程原语,还能高效处理复杂的指针操作和张量转换,大大降低了AI编程的难度。
通过Triton-Linalg编译器前端,开发者或硬件厂商可以以极低的成本快速集成支持Triton语言特性的后端指令集,并与AI应用对接。Triton整体架构包含Linalg作为与后端无关的中间表示形式,为多种硬件提供了Triton到Linalg的转换支持。
Triton的核心优势在于提供一个开放的环境,让开发者能更快速高效地编写代码,相比CUDA,Triton具有更高的生产力和更大的灵活性。Linalg方言作为MLIR社区的主推方向,具有高度抽象的功能,简化和优化线性代数运算,受到行业广泛接受,并具有支撑未来硬件发展的潜力。
Triton-Linalg通过遵循几个原则,如尽量使用structure算子,尽早识别算子语义,实现高效转换流程。社区在Linalg方言上集成了丰富的基础设施,涵盖Tile、Fuse、Promotion等超过30种不同的变换操作,以实现大量基础设施的复用,降低集成新硬件的工作量。
使用Triton-Linalg的价值在于降低适配成本,增加成本效益,提供高灵活性与可定制化,以及知识共享与教育。开发者可以根据需求修改源码,适应不同场景和用途,无需局限于特定硬件,降低对专有软件的依赖,节省成本,促进技术人才的培养。
寒武纪发布Triton-Linalg的初衷是为开发者和硬件厂商提供高效、易用的技术方案,降低开发成本,推动行业创新和开放合作。通过开源Triton-Linalg编译器前端,寒武纪为Triton社区生态建设贡献力量,秉持开放、协同、共享的理念,持续推动人工智能领域技术进步。
Ⅱ 人工智能的实现方法有哪些
人工智能在计算机上实现时有2种不同的方式:
一种是采用传统的编程技术,使系统呈现智能的效果,而不考虑所用方法是否与人或动物机体所用的方法相同。这种方法叫工程学方法(ENGINEERING APPROACH),它已在一些领域内作出了成果,如文字识别、电脑下棋等。
另一种是模拟法(MODELING APPROACH),它不仅要看效果,还要求实现方法也和人类或生物机体所用的方法相同或相类似。
遗传算法(GENERIC ALGORITHM,简称GA)和人工神经网络(ARTIFICIAL NEURAL NETWORK,简称ANN)均属后一类型。遗传算法模拟人类或生物的遗传-进化机制,人工神经网络则是模拟人类或动物大脑中神经细胞的活动方式。为了得到相同智能效果,两种方式通常都可使用。采用前一种方法,需要人工详细规定程序逻辑,如果游戏简单,还是方便的。如果游戏复杂,角色数量和活动空间增加,相应的逻辑就会很复杂(按指数式增长),人工编程就非常繁琐,容易出错。而一旦出错,就必须修改原程序,重新编译、调试,最后为用户提供一个新的版本或提供一个新补丁,非常麻烦。采用后一种方法时,编程者要为每一角色设计一个智能系统(一个模块)来进行控制,这个智能系统(模块)开始什么也不懂,就像初生婴儿那样,但它能够学习,能渐渐地适应环境,应付各种复杂情况。这种系统开始也常犯错误,但它能吸取教训,下一次运行时就可能改正,至少不会永远错下去,用不到发布新版本或打补丁。利用这种方法来实现人工智能,要求编程者具有生物学的思考方法,入门难度大一点。但一旦入了门,就可得到广泛应用。由于这种方法编程时无须对角色的活动规律做详细规定,应用于复杂问题,通常会比前一种方法更省力。