TabNine is a language-agnostic autocompleter that leverages machine learning to provide responsive, reliable, and relevant code suggestions. In a blog post shared last week, Jacob Jackson, TabNine’s creator, introduced Deep TabNine that uses deep learning to significantly improve suggestion quality.
Deep TabNine is based on OpenAI’s GPT-2 model that uses the Transformer architecture. This architecture was intended for solving problems in natural language processing, Deep TabNine uses it to understand the English in code. For instance, the model can negate words with an if/else statement. While training, the model’s goal is to predict the next token given the tokens that come before it.
Trained on nearly 2 million files from GitHub, Deep TabNine comes with pre-existing knowledge, instead of learning only from a user’s current project. Additionally, the model also refers to documentation written in natural language to infer function names, parameters, and return types. It is capable of using small clues that are difficult for a traditional tool to access. For instance, it understands that the return type of app.get_user() is assumed to be an object with setter methods and the return type of app.get_users() is assumed to be a list.
Although integrating a deep learning model comes with several benefits, using it demands a lot of computing power. Jackson clearly mentioned that running it on a laptop will not deliver low latency that TabNine’s users are accustomed to. As a solution, they are offering TabNine Cloud (Beta), a service that will enable users to use TabNine’s servers for GPU-accelerated autocompletion. To get access to TabNine Cloud, you can sign up here.
However, there are many who prefer to keep their code on their machines. To ensure the privacy and security of your code, the TabNine team is working on the following use cases:
Developers have already started its beta testing and are quite impressed:
You can check out the official announcement by TabNine to know more in detail.
Implementing autocompletion in React Material UI application [Tutorial]
Material-UI v4 releases with CSS specificity, Classes boilerplate, migration to Typescript and more
Conda 4.6.0 released with support for more shells, better interoperability among others
I remember deciding to pursue my first IT certification, the CompTIA A+. I had signed…
Key takeaways The transformer architecture has proved to be revolutionary in outperforming the classical RNN…
Once we learn how to deploy an Ubuntu server, how to manage users, and how…
Key-takeaways: Clean code isn’t just a nice thing to have or a luxury in software projects; it's a necessity. If we…
While developing a web application, or setting dynamic pages and meta tags we need to deal with…
Software architecture is one of the most discussed topics in the software industry today, and…