by BrandonJung on 6/22/22, 12:58 AM with 129 comments
by nlh on 6/22/22, 6:44 AM
I use Copilot for its multi-line code generation. It's vastly superior. (Sorry Tabnine). Gotta give credit to Tabnine for kicking off this space -- they had a multi-year headstart on Copilot and it was pretty cool when it first launched, but it just doesn't come close to Copilot. OpenAI is kicking butt here.
Having said that, I still find value out of Tabnine -- I keep it installed it powers the pop-up autocomplete (eg Intellisense replacement). The Tabnine suggestions are immediate (as opposed to Copilot which takes a few seconds), and in a lot of cases it's super helpful for completing a variable name after 1 character, etc.
If I ESC out of the Tabnine suggestion, then Copilot takes over and a few seconds later I get a full line/multi-line suggestion.
I dunno - it's been working really well for me. Peaceful coexistence :)
by Crazyontap on 6/22/22, 2:16 AM
But almost an year has passed since I used this so I don't know if they have had a major update and the results are improved, but previously 1 out of 10 tabnine suggestions were barely useful, compared to 9 out of 10 with copilot.
Since it's a paid offering now I really hope they've upped their game.
by mynegation on 6/22/22, 3:22 AM
by thejosh on 6/22/22, 2:35 AM
I gave it a fair chance, let it index my private personal projects, ran it on my personal machine to see how it worked. The results are... not great. I'm using IntelliJ, and Tabnine is arrogant enough to believe that their autocomplete is superior to the libraries autocomplete, even when completely wrong or it has no idea of its autocomplete. These are opensource libraries.
Their inline suggestions (per what Github Copilot) isn't great either. I've tried their different strength levels (their UI for their product is fantastic) and it's not great.
Github copilot when I first started was pretty good, over the last few months it's become amazing. I'm going to be giving my money to Github over Tabnine, but would prefer to give it to Tabnine.
by jonahbenton on 6/22/22, 1:51 AM
by owlbynight on 6/22/22, 2:57 AM
by mdaniel on 6/22/22, 1:59 AM
That story gets even weirder with the 3rd link on that page whose license is also "other" but this time the "view source" link goes to https://www.tabnine.com/web/assistant/code/rs/5c781237e70f87... . I find that weird for at least two reasons: (a) it clearly says "This snippet was taken from github" and has a GitHub style "org/repo" nomenclature, but doesn't link to the actual repo (b) at the very top of that file is the boilerplate Apache 2.0 license header
Finally, one should be very cautious about ever linking to "master" URLs, since the branch can get nuked if the repo owner decides to go with the "master to main" rename, it can lead the user to a copy of the file that is almost guaranteed not to be the same sha as the one Tabnine indexed, and related to that the repo can undergo a license change (FOSS to BSL is a very common one) leading to some complicated discussions
by Mockapapella on 6/22/22, 4:49 AM
by nakovet on 6/22/22, 10:58 AM
by qyron on 6/22/22, 7:13 AM
- Tabnine's local per-repository model shines best when used on big monolithic repos with lots of similar or boilerplate code. By learning on the same code it's used for it IMO does much better job at detecting local patterns. Also local-model means pretty "safe" from security POV for corporate use (I can't imagine big corps like Google and Amazon allowing use of Copilot for proprietary code).
- Back in they free tier of Tabnine was pretty useless compared to Pro because it severely limited model size. If it's still the case now I hope they have a long evaluation period.
- From usability POV, unfortunately it doesn't provide non-intrusive experience out of the box, which is very annoying and I believe is a reason for many users abandoning it pretty quickly. I had to modify both VSCode extension and VSCode itself (!) so that Tabnine's completion suggestions won't interfere with others.
by ascar on 6/22/22, 11:09 AM
It was posted by the VP of Business Development of Tabnine. Is this really organically ending up on the front page or are some bot/vote rings in control?
@dang shouldn't the title at least be changed to "Announcing our Next-generation AI models"?
by bluelightning2k on 6/22/22, 9:49 AM
What they're doing is impactful, impressive - and so eclipsed by an unreasonably well-resourced competitor that they don't even get given much credit.
"Not as good as CoPilot" really doesn't say enough about something that's still very impressive.
Personally I thought it was cool but not game-changing, and moved on when I got into CoPilot. I can't comment on the next-gen models.
by llaolleh on 6/22/22, 2:12 AM
Last time I checked(end of last year) Tabnine was a far inferior product.
by atmosx on 6/22/22, 5:33 AM
by KrishnaShripad on 6/22/22, 6:51 AM
by JCWasmx86 on 6/22/22, 11:49 AM
Is it possible to use TabNine without using the random executable from https://update.tabnine.com/3.2.28/x86_64-unknown-linux-musl/... (Or is there the source available?)
Are there any instructions on to make it work with any other editor (GNOME-Builder in my case)? Is there Vala support?
Edit: Found this: https://github.com/codota/TabNine/blob/master/HowToWriteACli...
by BrandonJung on 6/22/22, 12:58 AM
Copilot’s architecture is monolithic: “one model to rule them all.” It is also completely centralized - only Microsoft can train the model, and only Microsoft can host the model due to the enormous amount of computing resources required for training and inference.
Tabnine, after comprehensively evaluating models of different sizes, favors individualized language models working in concert. Why? Because code prediction is, in fact, a set of distinct sub-problems which doesn't lend itself to the monolithic model approach. For instance: generating the full code of a function in Python based on name and generating the suffix of a line of code in Rust are two problems Tabnine solves well, but the AI model that best fits every such task is different. We found that a combination of specialized models dramatically increases the precision and length of suggestions for our 1M+ users.
A big advantage of Tabnine’s approach is that it can use the right tool for any code prediction task, and for most purposes, our smaller models give great predictions quickly and efficiently. Better yet, most of our models can be run with inexpensive hardware.
Now that we understand the principal difference between Microsoft’s huge monolith and Tabnine’s multitude of smaller models, we can explore the differences between the products:
First, kind of code suggestions. Copilot queries the model relatively infrequently and suggests a snippet or a full line of code. Copilot does not suggest code in the middle of the line, as its AI model is not best suited for this purpose. Similarly, Tabnine Pro also suggests full snippets or lines of code, but since Tabnine also uses smaller and highly efficient AI models, it queries the model while typing. As a user, it means the AI flows with you, even when you deviate from the code it originally suggested.
Second, ability to train the model. Copilot uses one universal AI model, which means that every user is getting the same generic assistance based on an “average of GitHub”, regardless of the project they're working on. Tabnine can train a private AI model on the specific code from customers’ GitLab/GitHub/BitBucket repositories and thus adjust the suggestions to the project-specific code and infrastructure. Training on customer code is possible because Tabnine is modular, enabling the creation of private customized copies.
Third, Code security and privacy. There are a few aspects of this. Users cannot train or run the Copilot model. The single model is always hosted by Microsoft. Every Copilot user is sending their code to Microsoft; not some of the code, and not obfuscated - all of it. With Tabnine, users can choose where to run the model: on the Tabnine cloud, locally on the developer machine, or on a self-hosted server. This is possible because Tabnine has AI models that can run efficiently with moderate hardware requirements.
In addition, Tabnine makes a firm and unambiguous commitment that no code the user writes is used to train our model. We don’t send to our servers any information about the code that the user writes and the suggestions they’re receiving or accepting.
Fourth, commercial terms. Microsoft currently offers Copilot only as a commercial product for developers, without a free plan (beyond a free trial) or organizational purchase. Tabnine has a great free plan and charges for premium features such as longer code completions and private models trained on customers’ code.
by arriu on 6/22/22, 2:05 AM
by mellosouls on 6/22/22, 12:42 PM
For any coders who might think this article will help them understand AI, the actual title is:
Announcing our Next-generation AI models
Perhaps it has changed since being posted but it's just a plug.
by robswc on 6/22/22, 5:03 AM
I actually really liked Tabnine but sometimes the tons of suggestions got annoying. I upgraded my IDE and forgot to add copilot but didn't feel like I needed to. Maybe that's a mistake... but sometimes it felt like it was getting in the way and I did encounter a few times it would create "bugs" which I would have to spend time going back and fixing.
Not trying to knock these though. They're both very impressive tools.
by drcongo on 6/22/22, 9:03 AM
by chadreem on 6/22/22, 4:51 AM
by codetrotter on 6/22/22, 2:30 AM
by daef on 6/22/22, 8:02 AM
by smcleod on 6/22/22, 3:35 AM
by joelthelion on 6/22/22, 12:11 PM
by carom on 6/22/22, 3:26 AM