from Hacker News

Next-generation AI models

by BrandonJung on 6/22/22, 12:58 AM with 129 comments

  • by nlh on 6/22/22, 6:44 AM

    I might be a super weird use case BUT believe it or not I use both Tabnine and Copilot and I kinda like the combo. Here's how it works:

    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

    Having just purchased copilot and a user of Tabnine in the past (using Phpstorm) here is my own personal opinion. The suggestions offered by Tabnine weren't anywhere good as copilot - not even by a long shot (at least for PHP and Javascript).

    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

    I remember when Jacob Jackson’s (this kid is nothing less of a genius) tabnine project was posted on HN. Codota then bought tabnine and now they renamed themselves after this acquisition. Got me interested what Jacob is doing now. Looks like after his stint at OpenAI this is his new project: https://same.energy/
  • by thejosh on 6/22/22, 2:35 AM

    I really want to love Tabine. I really, really do.

    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

    Whenever I encounter tabnine pages in search results- most commonly for Java Spring stuff- and click through, I regret it. The code snippets are never useful and the ads/popups are offensive. Baeldung resources are infinitely better.
  • by owlbynight on 6/22/22, 2:57 AM

    I had to uninstall Tabnine because its resource usage was unacceptable. Hopefully they've addressed that, because it was using way too much of my CPU at times that it shouldn't have been.
  • by mdaniel on 6/22/22, 1:59 AM

    For my curiosity, https://www.tabnine.com/code/java/classes/com.google.gson.Js... says it was taken from https://github.com/Vedenin/useful-java-links/tree/master/hel... which Tabnine annotates as "license: other" (it's actually CC-BY-SA-4.0 <https://github.com/Vedenin/useful-java-links/blob/1f4278c9ad...>) but (a) does Tabnine not know about CC licenses? (b) how is the downstream user (i.e. the person accepting said snippet completion) supposed to interpret "license: other" without doing the same research I just did?

    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

    Honestly, tab nine is the reason why I didn’t use Copilot for months after I was given initial access — it was just so atrociously bad at what it claimed to help that I was expecting the same from Copilot and thought the concept itself was a broken one. Then out of the blue a coworker mentions he got access to Copilot and loved it, so I gave it a try. Turns out, Copilot just makes things so much easier. I love it. I’m not sure if I’ll pay the subscription right away, but I’m certain I’ll notice the constant annoyance of it missing.
  • by nakovet on 6/22/22, 10:58 AM

    I used TabNine for years, if I recall correctly it was developed by a Waterloo (Ontario - Canada) student and bought by an Israeli company. Once they changed their EULA my security aware company was like can't use that anymore. I provided that feedback to them but I guess I was the only one raising eyebrows. My suggestion is just lower your price to match Copilot, so it's easy on the user deciding between both of you, I am for one sold on how useful Copilot is.
  • by qyron on 6/22/22, 7:13 AM

    I consider myself pretty advanced user of Tabnine, having purchased the first version from Jacob just when it appeared. I haven't used (and don't plan to) its full-function code completion and only briefly evaluated Copilot. Some thoughts:

    - 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

    What's up with this? The title is editorialized as advertisement against a competing product and the content of the link is essentially advertisement too.

    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

    I feel for TabNine.

    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

    Has anyone used both Tabnine and Copilot recently? Would like to know if compares to Copilot now.

    Last time I checked(end of last year) Tabnine was a far inferior product.

  • by atmosx on 6/22/22, 5:33 AM

    Assume coPilot proposes a function that can be found in 90% of GPLv3 software. Should all software written by coPilot be GPLv3 as well?
  • by KrishnaShripad on 6/22/22, 6:51 AM

    The problem I had with Tabnine was insane memory consumption to the point where my Mac crawled to a halt. I had to keep killing Tabnine process or just uninstall the plugin. Copilot has been a breeze. I really want to give Tabnine a shot again but I doubt if they can get it to perform as well as Copilot does.
  • by JCWasmx86 on 6/22/22, 11:49 AM

    This is really interesting, $12 a month are a good price IMO.

    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

    For this specific comparison, it’s essential to start from the technology, as many of the product differences stem from the differences in approach, architecture, and technology choices. Microsoft and OpenAI view AI for software development almost as just another use case for GPT-3, the behemoth language model. Code is text, so they took their language model, fine-tuned it on code, and called the gargantuan 12-billion parameter AI model, Codex.

    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.

    https://tabnine.com/tabnine-vs-github-copilot

  • by arriu on 6/22/22, 2:05 AM

    It’s good to see more players in this space.
  • by mellosouls on 6/22/22, 12:42 PM

    "Understanding AI for coders..."

    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 used the free version of Tabnine and beta tested Copilot.

    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

    I've been using TabNine for years and, at least with Python, the suggestions are superb, and often uncanny - it occasionally suggests the variable name I was thinking of using before it's appeared anywhere in the code. I love TabNine dearly, but the Sublime Text plugin for it has basically been left to rot which is really sad. It doesn't integrate at all well with ST4.
  • by chadreem on 6/22/22, 4:51 AM

    Maybe tabnine changed some things with their new Pro version included multiline completions

    https://t.co/YGfmAZopwe

  • by codetrotter on 6/22/22, 2:30 AM

    I use Tabnine completion in JetBrains CLion when I write Rust code. I’ve found it to be quite useful. Haven’t tried GitHub Copilot yet, so don’t know how Copilot compares to it.
  • by daef on 6/22/22, 8:02 AM

    Tabnine and Copilot feel like the endboss for various plagiarism checkers. I'm curious how universities will adapt to this.
  • by smcleod on 6/22/22, 3:35 AM

    Ouch $17 AUD/month for a single user!
  • by joelthelion on 6/22/22, 12:11 PM

    Can we hope for a local, open-source version of these models some day?
  • by carom on 6/22/22, 3:26 AM

    Very editorialized title.