Visual Studio IntelliCode AI Assistant Gets Deep Learning Upgrade — Visual Studio Magazine

Machine Learning


news

Visual Studio IntelliCode AI Assistant Gets Deep Learning Upgrade

Microsoft has improved code completion in IntelliCode, Visual Studio’s AI-powered development feature.

IntelliCode is an AI-boosted upgrade to the basic IntelliSense code completion feature that has long been part of the IDE. Provides more accurate and relevant suggestions for code completion with the ability to use AI to analyze the developer’s code context (variable names, functions, types of code used, etc.) and developers suggest relevant API calls. Most likely to use.

With full-line completion, IntelliCode puts these API calls at the top of the suggestion list marked with a star icon. It can also assist with refactoring and other tasks based on the revolutionary ChatGPT chatbot and large-scale machine learning transformer models somewhat similar to the technology that powers GitHub Copilot.

However, unlike the latter “AI Pair Programmer” on GitHub which costs $10 per month, IntelliCode is free and installed in Visual Studio via the IDE’s installer app and in Visual Studio Code via an extension. So it’s not as powerful as the Large Language Models (LLM) developed by Microsoft partners such as GPT-4 his OpenAI (ChatGPT creator), but still useful for Visual Studio users, especially those who want to code cheaply is.

With that in mind, while Microsoft has been busy improving IntelliCode, Copilot-branded AI constructs have permeated many other Microsoft products and services.

[Click on image for larger view.] IntelliCode Proposal Example (Source: Microsoft).

The latest improvement was the addition of deep learning capabilities. This now provides starred completion suggestions for custom methods in the IntelliSense list.

Essentially, deep learning replaces IntelliCode’s Markov chain model, which failed to rank custom methods specific to a developer’s code. So, to provide that custom method capability, Microsoft created a way for developers to train an individual or team model associated with their code repository. Microsoft’s custom model documentation explains:

An IntelliCode model encapsulates a set of rules that can predict useful information (such as IntelliSense list recommendations) based on code analysis. IntelliCode creates team models using the same learning process as IntelliCode-based models, except they’re trained on your own code. The more code you provide to describe your usage patterns, the better the team model will be able to provide useful recommendations.

That scheme has now been superseded by the neural network approach of deep learning. This approach allows data to be processed and transformed by network nodes in a nonlinear manner suitable for complex tasks such as computer vision, natural language processing, and speech recognition.

In a post last month, Microsoft explained how deep learning enabled IntelliCode to quickly rank custom methods in the IntelliSense list.

“Since the Visual Studio 2022 release (version 17.0+), custom methods are ranked with the help of a neural encoder model,” Microsoft said. “This deep learning model ranks the candidates provided by the static analyzer.”

This is reported to bring the following benefits to developers:

  • It also provides completion for invisible libraries (such as private user code not present in the training set).
  • Code-aware completion — all without having to train a team completion model tied to an individual/repository.
  • All code remains local. There is no need to send code to a remote server for custom model training, as the model runs correctly on your computer. This is made possible by the design of our machine learning system, which has a significantly reduced memory footprint and improved inference speed.

In addition, deep learning models can improve themselves and suggest better code completion options by analyzing:

  • Specific programming languages, libraries and frameworks used, and other contextual information.
  • A user’s edit history to dynamically update the ranking model based on the user’s recent code changes.

Using telemetry derived from the custom individual/team model training scheme described above, Microsoft shut down its functionality after realizing how good its deep learning approach was.

“All Visual Studio 2022 users will be automatically switched to use the improved deep learning models, including those who previously trained team and personal models around custom repositories.” said Microsoft.

About the author


David Ramel is an editor and writer at Converge360.





Source link

Leave a Reply

Your email address will not be published. Required fields are marked *