{"id":242131,"date":"2023-03-20T12:00:35","date_gmt":"2023-03-20T19:00:35","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/visualstudio\/?p=242131"},"modified":"2023-03-21T13:29:27","modified_gmt":"2023-03-21T20:29:27","slug":"upgrading-from-intellicode-custom-team-completions-models-to-deep-learning","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/visualstudio\/upgrading-from-intellicode-custom-team-completions-models-to-deep-learning\/","title":{"rendered":"Upgrading from IntelliCode custom team completions models to deep learning."},"content":{"rendered":"<p><strong>TL;DR<\/strong> \u2013 A deep learning model will now help provide starred completions for custom methods in the IntelliSense list. All users of Visual Studio 2022 will receive this improvement automatically.<\/p>\n<h5><strong>With original IntelliCode, a custom trained model was previously useful for ranking custom methods in a user\u2019s code<\/strong><strong>.<\/strong><\/h5>\n<p>When IntelliCode first shipped in Visual Studio, it used a simple Markov-chain model to rank methods in the IntelliSense list. This model couldn\u2019t rank custom methods that are specific to your code, so we enabled developers to train <a href=\"https:\/\/learn.microsoft.com\/en-us\/visualstudio\/intellicode\/custom-models\">repository-associated team &amp; personal models<\/a> to rank custom methods specific to your code in the IntelliSense list.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/03\/Picture1.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-242132\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/03\/Picture1.png\" alt=\"Image Picture1\" width=\"624\" height=\"312\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/03\/Picture1.png 624w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/03\/Picture1-300x150.png 300w\" sizes=\"(max-width: 624px) 100vw, 624px\" \/><\/a><\/p>\n<h5><strong>Deep learning enables IntelliCode in Visual Studio 2022 to rank custom methods in the IntelliSense list out of the box. <\/strong><\/h5>\n<p>Since the Visual Studio 2022 release (version 17.0+), custom methods are ranked with the help of a neural encoder model.\nThis deep learning model ranks candidates provided by static analyzer to provide the following benefits to developers:<\/p>\n<ul>\n<li>Provide completions even on unseen libraries &#8211; for instance, private user code which is not present in the training set.<\/li>\n<li>Completions tailored to your code \u2013 all without the need to train a personal \/ repository associated team completions model.<\/li>\n<li>All your code stays local &#8211; the model runs right on your computer, so there&#8217;s no need to transmit code to a remote server for custom model training.\nThis is enabled by our machine learning system design, which led to dramatically reduced memory footprint and improved inference speed.<\/li>\n<\/ul>\n<p>In fact, the deep learning model provides better suggestions over time by observing the following context:<\/p>\n<ul>\n<li>The specific programming language being used, libraries and frameworks, and other contextual information.<\/li>\n<li>The user&#8217;s editing history to dynamically update the ranking model based on the user&#8217;s recent code changes.<\/li>\n<\/ul>\n<h5><strong>Real world telemetry shows that the deep learning model provides a better IntelliSense experience and improved productivity for developers in Visual Studio.<\/strong><\/h5>\n<p>While users were still able to access the <a href=\"https:\/\/learn.microsoft.com\/en-us\/visualstudio\/intellicode\/custom-models\">repository-associated team &amp; personal models <\/a>in Visual Studio 2022, the team wanted to conclusively prove that the deep learning model was better even for custom code.<\/p>\n<p>With the confidence from telemetry in hand, <span class=\"ui-provider a b c d e f g h i j k l m n o p q r s t u v w x y z ab ac ae af ag ah ai aj ak\" dir=\"ltr\">the option to train a custom model is now disabled.<\/span><\/p>\n<p><span class=\"ui-provider a b c d e f g h i j k l m n o p q r s t u v w x y z ab ac ae af ag ah ai aj ak\" dir=\"ltr\">All Visual Studio 2022 users will automatically switchover to using the improved deep learning model &#8211; including those who had previously trained custom repository-associated team &amp; personal models.<\/span><\/p>\n<h5><strong>Thanks for being a part of the IntelliCode journey.<\/strong><\/h5>\n","protected":false},"excerpt":{"rendered":"<p>TL;DR \u2013 A deep learning model will now help provide starred completions for custom methods in the IntelliSense list. All users of Visual Studio 2022 will receive this improvement automatically. With original IntelliCode, a custom trained model was previously useful for ranking custom methods in a user\u2019s code. When IntelliCode first shipped in Visual Studio, [&hellip;]<\/p>\n","protected":false},"author":70931,"featured_media":255385,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[155],"tags":[],"class_list":["post-242131","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-visual-studio"],"acf":[],"blog_post_summary":"<p>TL;DR \u2013 A deep learning model will now help provide starred completions for custom methods in the IntelliSense list. All users of Visual Studio 2022 will receive this improvement automatically. With original IntelliCode, a custom trained model was previously useful for ranking custom methods in a user\u2019s code. When IntelliCode first shipped in Visual Studio, [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/posts\/242131","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/users\/70931"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/comments?post=242131"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/posts\/242131\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/media\/255385"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/media?parent=242131"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/categories?post=242131"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/tags?post=242131"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}