首页 星云 工具 资源 星选 资讯 热门工具
:

PDF转图片 完全免费 小红书视频下载 无水印 抖音视频下载 无水印 数字星空

.NET 9 的新亮点:AI就绪 ,拥抱她

编程知识
2024年09月09日 22:10

.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.CoreMicrosoft.ML.GenAI.PhiMicrosoft.ML.GenAI.LLaMAMicrosoft.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社区也在努力建设中。下面我们列出社区中一些资源供大家参考:

13、.NET 9 + 人工智能

Microsoft 正在 AI 方面进行重大投资,并且他们正在推动 .NET 和开发社区的发展。.NET 生态系统提供了许多强大的工具、库和服务来开发 AI 应用程序。 .NET 支持云和本地 AI 模型连接、适用于各种 AI 和矢量数据库服务的许多不同的 SDK 以及其他工具,有助于构建范围和复杂性不同的智能应用。

From:https://www.cnblogs.com/shanyou/p/18405567
本文地址: http://shuzixingkong.net/article/1879
0评论
提交 加载更多评论
其他文章 逆向WeChat(六)
sniff微信小程序mojo数据包,通过嗅探mojo抓包https请求,打开小程序devtools。
逆向WeChat(六) 逆向WeChat(六) 逆向WeChat(六)
【LLM训练系列】从零开始训练大模型之Phi2-mini-Chinese项目解读
一、前言 本文主要是在复现和实践Phi2-mini-Chinese后,简要分析下Phi2-mini-Chinese这个项目,做一个学习实战总结。 原文发布于知乎:https://zhuanlan.zhihu.com/p/718307193,转载请注明出数。 Phi2-mini-Chinese简介 P
【LLM训练系列】从零开始训练大模型之Phi2-mini-Chinese项目解读 【LLM训练系列】从零开始训练大模型之Phi2-mini-Chinese项目解读 【LLM训练系列】从零开始训练大模型之Phi2-mini-Chinese项目解读
中文关键字检索分析-导出到csv或者excel-多文件或文件夹-使用python和asyncio和pandas的dataframe
1.02版本 把原来的tab一个个拼接成文件输出,改成pandas的dataframe 使用asyncio库来使用协程,但是测试下来速度好像是差不多的。可能速度太快了,没能很好的测出来差异。 原来的最初的代码是java版本的,现在用python重写一遍 java版本使用completableFutu
中文关键字检索分析-导出到csv或者excel-多文件或文件夹-使用python和asyncio和pandas的dataframe 中文关键字检索分析-导出到csv或者excel-多文件或文件夹-使用python和asyncio和pandas的dataframe
PHP 程序员学会了 Go 语言就能唬住面试官吗?
唬住了 50k ,唬不住就 5k 。这句话一直是 PHP 程序员之间相互吹捧、吹牛逼的笑点,每次面试过后都会挠挠头上仅剩的几根头发,回想自己是否吹牛逼会过了头。
PHP 程序员学会了 Go 语言就能唬住面试官吗? PHP 程序员学会了 Go 语言就能唬住面试官吗? PHP 程序员学会了 Go 语言就能唬住面试官吗?
单个48TB大小SQL Server数据库备份导致日志文件无法截断
单个48TB大小SQL Server数据库备份导致日志文件无法截断 SQL Server 版本:SQL Server 2019背景在一个48T大小的单数据库环境中,采用简单恢复模式,日志文件大小限制为600G。执行一次完整备份时,耗时超过12小时,导致日志文件无法截断并达到上限,后续事务无法正常写入
单个48TB大小SQL Server数据库备份导致日志文件无法截断 单个48TB大小SQL Server数据库备份导致日志文件无法截断 单个48TB大小SQL Server数据库备份导致日志文件无法截断
.NET 9 中 LINQ 新增的功能
LINQ介绍 语言集成查询 (LINQ) 是一系列直接将查询功能集成到 C# 语言的技术统称。数据查询历来都表示为简单的字符串,没有编译时类型检查或 IntelliSense 支持。此外,需要针对每种类型的数据源了解不同的查询语言:SQL 数据库、XML 文档、各种 Web 服务等。借助 LINQ,
.NET 9 中 LINQ 新增的功能 .NET 9 中 LINQ 新增的功能 .NET 9 中 LINQ 新增的功能
WiFi基础(三):802.11ac/ax/be 与 WiFi4、WiFi5、WiFi6、WiFi7
前面我们介绍了 802.11 b/g/n 的一些核心技术和基础概念,本章将介绍目前比较新的 WiFi5 和 WiFi6,以及在今年会发布的 WiFi7。
WiFi基础(三):802.11ac/ax/be 与 WiFi4、WiFi5、WiFi6、WiFi7 WiFi基础(三):802.11ac/ax/be 与 WiFi4、WiFi5、WiFi6、WiFi7 WiFi基础(三):802.11ac/ax/be 与 WiFi4、WiFi5、WiFi6、WiFi7
喜欢干净简洁音乐播放器的朋友看过来
大家好,我是晓凡。 不少程序员小伙伴都喜欢边听音乐边敲代码,尤其在一个嘈杂的环境中,一个好的想法、好的思路可能就因为一瞬间的干扰就没了。 这时,如果耳机一戴上,听着音乐能更好的集中注意力;遇到bug也能临危不乱,想出更好的解决办法; 网易云音乐,算是一个相对简洁、有趣的播放器了。 不过近些年,各种花
喜欢干净简洁音乐播放器的朋友看过来 喜欢干净简洁音乐播放器的朋友看过来 喜欢干净简洁音乐播放器的朋友看过来