.NET 9 的新亮点:AI就绪 ,拥抱她
.NET 9 即将发布 RC1, 今年初.NET 团队在发布.NET 9 Preview 1版本时写了一篇文章《我们对 .NET 9 的愿景》,其中特别提到了对AI的展望 .NET 9,我们致力于让 .NET 开发人员更轻松地将人工智能集成到他们现有的和新的应用程序中。 开发人员将找到用于使用 OpenAI 和 OSS 模型(托管和本地)的优秀库和文档,我们将继续在Semantic Kernel,、OpenAI 和 Azure SDK 方面进行合作,以确保 .NET 开发人员拥有构建智能应用程序的一流体验 。
在 .NET 9 中,.NET 社区正在大力推动 AI -- 这非常令人震惊......就像 AI 现在很重要。 在过去大数据、移动互联网时代。由于微软的封闭和不够开放,错过了两个时代,不过在云原生和人工智能时代,.NET已经完成脱胎换骨,变得开放又强大,特别是即将到来的.NET 9,帮助开发人员构建更智能的应用程序方面有非常大的改进。下面是我汇总的.NET 社区里这一年在AI 方面的新进展。
1、TensorFlow.NET升级
TensorFlow.NET 正在通过高性能 C# 绑定和自动微分支持进行升级。完整的 Keras API 现在也采用 C# 语言:
- 使用 cppSharp 生成的新的高性能 C# 绑定
- 自定义 C# 运算的自动微分支持
- Keras API 完全用 C# 实现,允许无缝的模型定义和训练
2、OpenAI SDK 集成
OpenAI SDK 使开发人员能够直接访问 OpenAI 最新的公共 AI 模型,包括 GPT-4 及其结构化输出功能。这意味着您将拥有完整的 API 支持,包括同步和异步 API 以满足您的需求 - 甚至是用于实时处理的流式完成。SDK 是可扩展的,因此您可以进一步自定义它。此外,它还与 Azure OpenAI 进行了集成,用于企业级部署,也方便对接各种兼容OpenAI API的各大模型。这为使用对话式 AI、动态内容生成和 AI 驱动功能(如音频转录和文本转语音生成)构建更智能的 .NET 应用程序提供了大量可能性。
3、ONNX 运行时原生支持
无需再费力地进行单独的软件包安装。 我们获得了一个专用命名空间 (Microsoft.ML.OnnxRuntime),其中包含一个 API 来直接加载和运行 ONNX 模型:
- 直接模型加载: var session = new InferenceSession(“model.onnx”);
- 使用 Span<T> 和 Memory<T> 对输入/输出张量进行高效的内存管理
- 通过统一 API 支持硬件加速(CPU、GPU、DirectML)
4、开发人员友好的ML.NET 4.0
AutoML 通过多指标优化和时间序列预测支持变得更加智能:
- AutoML 增强功能:
- 用于平衡模型选择的多指标优化
- 支持 AutoML 中的时间序列预测
- 用于简化模型部署的新 Infer<T> API
- 将 TensorFlow 和 ONNX 模型转换为 ML.NET 格式以提高性能
- 新的Microsoft.ML.GenAI :GenAI包提供一系列流行GenAI模型的torchsharp实现,目标是从相应的Python常规模型加载相同的权重。首先将添加的模型包括
Microsoft.ML.GenAI.Core
、Microsoft.ML.GenAI.Phi
、Microsoft.ML.GenAI.LLaMA
和Microsoft.ML.GenAI.Mistral
以及Microsoft.ML.GenAI.StableDiffusion。
5、.NET 9 中的 AI 辅助代码生成
AI 辅助代码生成(代码片段、重构、单元测试)通过 dotnet ai 命令集成到 .NET 9 SDK 中,非常棒:
- 生成代码片段: dotnet ai snippet “mplement a binary search algorithm”
- 重构现有代码: dotnet ai refactor --file Program.cs --description “Convert to LINQ query”
- 生成单元测试:dotnet ai test --file MyClass.cs
6、NLP 工具
.NET 9 提供了一组丰富的 NLP 工具,用于标记化、NER*、情感分析和文本分类:
- 分词和句子分句:
var tokenizer = new Tokenizer();
var tokens = tokenizer.Tokenize("Hello, world!");
- 命名实体识别 (NER):
var ner = new NamedEntityRecognizer();
var entities = ner.RecognizeEntities("Microsoft was founded by Bill Gates.");
- 使用预训练模型进行感知分析和文本分类
7、.NET 9 中的 GPU 加速
.NET 9 中的 GPU 加速比以往任何时候都更容易获得:
- 用于高效多维数组运算的新 Tensor<T> 类型
:张量是许多数学模型的基本组成部分,包括深度学习算法。它们是用于保存神经网络中的权重、偏差和中间计算的多维数组。这样可以有效的处理数据和信息流,以用于学习和预测目的。 无论是图像识别、语言理解还是趋势预测,张量在AI的各个方面都发挥着至关重要的作用。 此外,它们还可以更轻松地在 ONNX Runtime、TorchSharp 或 ML.NET 等库之间共享数据、创建自己的数学库或使用 AI 模型开发应用程序。 - CUDA 互操作改进:
- 与 Nvidia 的 cuDNN 库集成,用于深度学习基元
8、简化的 AI 模型部署
.NET 9 通过新的 ASP.NET Core 集成简化了 AI 模型部署:
- 新项目模板:dotnet new webapi --ai -model
- 模型终端节点的自动 OpenAPI/Swagger 文档
- 内置模型版本控制和 A/B 测试支持
- 使用 gRPC 集成提供可扩展的模型服务
9、新的数值 API
.NET 9 引入了新的数值 API,以实现高效的张量和矩阵运算:
- System.Numerics.Tensor<T> 用于高效的张量运算
- System.Numerics.Matrix<T> 用于矩阵代数
- SIMD 加速线性代数例程
10、监控和观察您的 LLM 应用程序
大型语言模型 (LLM) 应用程序需要可靠、高性能和高质量的结果。 开发人员需要在开发和生产环境中测量和跟踪LLM 应用程序的结果和行为,并识别和解决任何问题。
- 性能监控:我们想知道我们的模型运行速度有多快,它们使用了多少内存,以及它们处理负载的情况。这有助于我们发现瓶颈并优化事情。
- 模型偏差检测:随着世界的变化,模型会随着时间的推移而过时。我们需要工具来捕捉模型的性能何时开始下滑,这样我们就知道是时候进行重新训练了。
- 可解释性和透明度:AI 不应该是一个黑匣子。我们必须有办法窥探内部并了解模型如何做出决策。这建立了信任并帮助我们捕捉任何无意的偏见。
- 道德和偏见监控:AI应该是公平和公正的。我们需要工具来积极检查和解决模型中的任何潜在偏差。
11、.NET 的Semantic kernel
Semantic kernel是一种开源 SDK,可在 .NET 应用中启用 AI 集成和业务流程功能。 对于将一个或多个 AI 服务与其他 API 或 Web 服务、数据存储和自定义代码结合使用的 .NET 应用程序,此 SDK 通常是推荐的 AI 编排工具。 语义内核以以下方式使企业开发人员受益:
- 简化将 AI 功能集成到现有应用程序中的过程,从而为企业产品提供统一的解决方案。
- 通过可降低复杂性的抽象,最大限度地缩短使用不同 AI 模型或服务的学习曲线。
- 通过减少 AI 模型提示和响应的不可预测行为来提高可靠性。 可以微调提示并计划任务,以创建可控且可预测的用户体验。
12、比以往任何时候都更强大.NET 社区
.NET 是开源的,包括 GitHub 上提供的所有库、工具和框架,因此一直在进行大量协作。C# 已经在人工智能领域发展并站稳脚跟,.NET社区也在努力建设中。下面我们列出社区中一些资源供大家参考:
- Semantic kernel :https://github.com/geffzhang/awesome-semantickernel/
- Autogen:https://github.com/microsoft/autogen/tree/main/dotnet
- Botsharp:https://botsharp.readthedocs.io/en/latest/
AIDotNet:https://github.com/AIDotNet
Senaprc.AI: https://github.com/Senparc/Senparc.AI
13、.NET 9 + 人工智能
Microsoft 正在 AI 方面进行重大投资,并且他们正在推动 .NET 和开发社区的发展。.NET 生态系统提供了许多强大的工具、库和服务来开发 AI 应用程序。 .NET 支持云和本地 AI 模型连接、适用于各种 AI 和矢量数据库服务的许多不同的 SDK 以及其他工具,有助于构建范围和复杂性不同的智能应用。
.NET 9 的新亮点:AI就绪 ,拥抱她的更多相关文章
- 新物理AI将可能成为量子计算革命的关键
新物理AI将可能成为量子计算革命的关键 据外媒报道,量子计算无疑是现在最令人兴奋的技术之一,但它的量子物理基础却让它成为了一个令人讨厌的概念理解甚至很难再展开其他事情.然而,最近物理学研究的一项突破可 ...
- 【Mysql】- Mysql 8.0正式版新亮点
MySQL 8.0 正式版 8.0.11 已发布,官方表示 MySQL 8 要比 MySQL 5.7 快 2 倍,还带来了大量的改进和更快的性能! 注意:从 MySQL 5.7 升级到 MySQL 8 ...
- 新零售下的 AI智能货柜
公司有个智能货柜,通过微信扫码开门,拿货,自动扣款,挺智能的.还不错.研究一下原理,网上查了一下. 文章简介: 目前新零售风刮的蛮大,笔者进入该领域近一年,负责过无人便利店.智能货柜.智慧商超等产品, ...
- 我们为什么不愿意相信AI?
人工智能--即AI已经变得越来越聪明,甚至能够预测未来.比如警察可以用AI来提前预判出犯罪的时间或地点,医生可以用AI预测病人最有可能心脏病发作或是中风.甚至研究人员还试图为AI添加上更多的想象力,因 ...
- 微软要如何击败Salesforce?Office365、Azure、Dynamics365 全面布局AI | 双语
微软在上月宣布组建自己的 AI 研究小组.该小组汇集了超过 5000 名计算机科学家和工程师,加上微软内部研究部门,将共同挖掘 AI 技术. 与此同时,亚马逊,Facebook,Google,IBM ...
- .NET西安社区 [拥抱开源,又见 .NET] 第二次活动简报
「拥抱开源, 又见 .NET」 随着 .NET Core的发布和开源,.NET又重新回到人们的视野. .NET Core的下个3.0即将release,加入非常多的新功能,越来越拥抱变化,DevOps ...
- 西安活动 | 2019年1月13号 "拥抱开源, 又见.NET" 线下交流活动报名进行中
随着.NET Core的发布和开源,.NET又重新回到人们的视野..NET Core的下个3.0即将release,加入非常多的新功能,越来越拥抱变化,DevOps和Microservice的最佳实践 ...
- 从锅炉工到AI专家(1)
序言 标题来自一个很著名的梗,起因是知乎上一个问题:<锅炉设计转行 AI,可行吗?>,后来就延展出了很多类似的问句,什么"快递转行AI可行吗?"."xxx转行 ...
- Microsoft宣布为Power BI提供AI模型构建器,关键驱动程序分析和Azure机器学习集成
微软的Power BI现在是一种正在大量结合人工智能(AI)的商业分析服务,它使用户无需编码经验或深厚的技术专长就能够创建报告,仪表板等.近日西雅图公司宣布推出几款新的AI功能,包括图像识别和文本分析 ...
- 秋日上新!H5活动之家营销平台升级大盘点!
H5活动之家活动营销平台,免费定制使用抽奖.投票.砍价.红包.互动.游戏等不同类型的微信营销活动. 近期多个活动进行了升级改造,更有集福卡持续热度,微助力火热上线等亮点:同时平台也进行了提高访问速度. ...
随机推荐
- [oeasy]python0098_个人计算机浪潮_IBM5100_微软成立_苹果II_VisCalc
个人计算机浪潮 回忆上次内容 个人电脑(PC) 在爱好者之间疯传 人人都有一台计算机 从attair-8800到apple-1 个人电脑 离普通人 更近了 如果 人人都有 自己的电脑 谁还去 用终端连 ...
- Odoo 基于Win10搭建基于Win10搭建odoo14开发环境搭建
实践环境 win10 Python 3.6.2 odoo_14.0.latest.tar.gz 下载地址: https://download.odoocdn.com/download/14/src?p ...
- .NET 开源快捷的数据库文档查询和生成工具
前言 在实际项目开发中,需求变更和项目迭代是常态.要求我们能够迅速响应,对数据库结构进行相应的调整,如添加新表.更新现有表结构或增加字段等. 为了确保团队成员之间的信息同步,实时更新和维护数据库文档变 ...
- SQL实战从在职到离职(1) 如何处理连续查询
书接上回,最近离职在家了实在无聊,除了看看考研的书,打打dnf手游,也就只能写写代码,结果昨晚挂在某平台的一个技术出售有人下单了,大概业务是需要帮忙辅导一些面试需要用到的SQL. 回想了下,在该平台接 ...
- 【Mybatis-Plus】06 代码生成器 CodeGenerator
导入生成器需要的依赖坐标: <dependency> <groupId>com.baomidou</groupId> <artifactId>mybat ...
- iOS开发基础146-深入解析WKWebView
WKWebView是苹果在iOS 8中引入的重要组件,它替代了UIWebView,为开发者提供了高性能.高稳定性的网页显示和交互能力.在本文中,我们将深入探讨WKWebView的底层架构.关键特性.使 ...
- 目前国内全地形能力最强的双足机器人 —— 逐际动力 —— 提出迭代式预训练(Iterative Pre-training)方法的强化学习算法
相关: https://weibo.com/1255595687/O5k4Aj8l2 该公司对其产品的强化学习训练算法给出了较少的描述: 提出迭代式预训练(Iterative Pre-training ...
- mini_imagenet 数据集生成工具
最近在看小样本方面的论文,发现这个mini_imagenet这个数据集比较常用,但是却不好找,找了半天也没有找到,最后在找到了这样的答案: 小样本学习(Few shot learning)标准数据集( ...
- AQS专题
1.背景 2.预备知识 2.1.park.unpark.interrupt.isInterrupted.interrupted方法的理解 一:park.unpark 1.park.unpark它不是T ...
- 日均调度 10W+ 任务实例,DolphinScheduler 在蔚来汽车一站式数据治理开发平台的应用改造
大家好我是张金明,在蔚来汽车担任大数据平台研发工程师.这次和大家分享的是 Apache DolphinScheduler 在蔚来汽车一站式数据治理开发平台的应用和改造,接下来我将从背景.应用现状和技术 ...