-
Notifications
You must be signed in to change notification settings - Fork 6.1k
ML.NET to AI and Machine Learning #43401
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
10 commits
Select commit
Hold shift + click to select a range
3b9c372
ML.NET to AI and Machine Learning
LadyNaggaga f6a4f1e
Initial commit. Still WIP
luisquintanilla 75f4e8d
Updates AI sections
luisquintanilla 1c80c4c
Rearrange to place MEAI and VD upfront
luisquintanilla d9e0139
Add link to ML.NET package
luisquintanilla 4e6f28f
Apply suggestions from code review
jamesmontemagno f29a826
Apply suggestions from code review
jamesmontemagno 1305237
Apply suggestions from code review
gewarren 295b53b
Update docs/core/whats-new/dotnet-9/overview.md
gewarren bb3802e
move tokenizers under ml.net
gewarren File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -53,9 +53,51 @@ The .NET 9 SDK introduces _workload sets_, where all of your workloads stay at a | |
|
|
||
| For more information, see [What's new in the SDK for .NET 9](sdk.md). | ||
|
|
||
| ## ML.NET | ||
| ## AI building blocks | ||
|
|
||
| ML.NET is an open-source, cross-platform framework that enables integration of custom machine-learning models into .NET applications. The latest version, ML.NET 4.0, adds [additional tokenizer support](../../../machine-learning/whats-new/overview.md#additional-tokenizer-support) for tokenizers such as Tiktoken and models such as Llama and CodeGen. <!--Add info about `Tensor<T>` here and in what's new for ML.NET.--> | ||
| .NET 9 introduces a unified layer of C# abstractions through the [Microsoft.Extensions.AI](https://www.nuget.org/packages/Microsoft.Extensions.AI.Abstractions/) and [Microsoft.Extensions.VectorData](https://www.nuget.org/packages/Microsoft.Extensions.VectorData.Abstractions/) packages. These abstractions facilitate interaction with AI services, including small and large language models (SLMs and LLMs), embeddings, vector stores, and middleware. | ||
|
|
||
| .NET 9 also includes new tensor types that expand AI capabilities. <xref:System.Numerics.Tensors.TensorPrimitives> and the new <xref:System.Numerics.Tensors.Tensor%601> type expand AI capabilities by enabling efficient encoding, manipulation, and computation of multi-dimensional data. You can find these types in the latest release of the [System.Numerics.Tensors package](https://www.nuget.org/packages/System.Numerics.Tensors/). | ||
|
|
||
| ### TensorPrimitives | ||
|
|
||
| - Expanded method scope: Increased from 40 to nearly 200 overloads, now including numerical operations similar to `Math`, `MathF`, and `INumber<T>` but for spans of values. | ||
| - Performance enhancements: Many operations are now SIMD-optimized for better performance. | ||
| - Generic overloads: Supports any type `T` that implements a certain interface, expanding beyond just spans of float values in .NET. | ||
|
|
||
| ### Tensor\<T> | ||
|
|
||
| - Builds on top of `TensorPrimitives` for efficient math operations. | ||
| - Provides efficient interop with AI libraries (ML.NET, TorchSharp, ONNX Runtime) using zero copies where possible. | ||
| - Enables easy and efficient data manipulation with indexing and slicing operations. | ||
|
Comment on lines
+70
to
+72
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We should probably add a note that
|
||
|
|
||
| ### ML.NET | ||
|
|
||
| [ML.NET](https://www.nuget.org/packages/Microsoft.ML/) is an open-source, cross-platform framework that enables integration of custom machine-learning models into .NET applications. | ||
|
|
||
| ML.NET 4.0 brings the following improvements: | ||
|
|
||
| - New ways to programmatically configure `MLContext` options. | ||
| - Load ONNX models as `Stream`. | ||
| - DataFrame improvements. | ||
| - New capabilities for [tokenizers](#tokenizers). | ||
| - (Experimental) TorchSharp ports of Llama and Phi family of models. | ||
| - (Experimental) CausalLM pipeline APIs. | ||
|
|
||
| For more information, see [What's new in ML.NET](../../../machine-learning/whats-new/overview.md). | ||
|
|
||
| #### Tokenizers | ||
|
|
||
| The [Microsoft.ML.Tokenizers](https://www.nuget.org/packages/Microsoft.ML.Tokenizers) library provides .NET developers with capabilities for encoding and decoding text to tokens. For AI scenarios, this is important to manage context, calculate cost, and preprocess text when working with local models. | ||
|
|
||
| The latest release introduces significant new capabilities for tokenizers: | ||
|
|
||
| - Tiktoken for GPT (3, 3.5, 4, 4o, o1) and Llam3 models | ||
| - Llama (based on SentencePiece) for Llama and Mistral models | ||
| - CodeGen for code-generation models like codegen-350M-mono | ||
| - Phi2 (based on CodeGen) for Microsoft Phi2 model | ||
| - WordPiece | ||
| - Bert (based on WordPiece) for Bert-supported models like optimum--all-MiniLM-L6-v2 | ||
|
|
||
| ## .NET Aspire | ||
|
|
||
|
|
||
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.