563 karma · joined December 3, 2021
Cohere abstracts training and deploying language models for developers and companies that don't have an army of MLEs to collect billions of training tokens and figure out TPU/GPU training/serving of massive models.
Consider that BERT was published in 2018 and then put into mass production to power Google Search in 2019 [1]. For companies and devs other than big tech, the cost and required knowhow to put these models into production is staggering. Even deploying open source models (which we love) requires overhead in compute and knowhow. Services like Cohere lower the barrier for those who need access to this tech in a managed way.
Generation use cases often don't even involve user data beyond an input prompt. In embedding use cases, the user only sends the text they want embedded and get their vectors in return.
[1] https://blog.google/products/search/search-language-understa...
Edit: Cohere engineer here.
You can can find performance benchmarks here: https://txt.cohere.ai/launch-larger-embed-models#model-compa...
Cohere provides an API to access and finetune large language models (generative models like GPT and text representation/embedding models like BERT). These types of language models empower the majority of the latest developments in natural language understanding and generation.
Your feedback is well taken, we'll work to make these more reachable from the homepage.
I'm personally keeping a close eye on Jupyter Lite [1]. which uses WASM to run python and popular data science libraries (e.g. numpy, pandas) completely in the browser.
[1] https://blog.jupyter.org/jupyterlite-jupyter-%EF%B8%8F-webas...
This is a gentle guide to building simple semantic search features that go beyond keyword search. Uses sentence embeddings and Annoy to build a "similar questions" feature.
Semantic search is one of the most powerful ideas to come out of NLP in recent years. Developers would benefit from having a sense of how it works. This article oversimplifies it to its essence with a working code example. All feedback is welcome!
Thank you!
Compute: Building the database requires lots of BERT pre-computation. But at inference time, RETRO is at least one BERT forward pass (a batch of all the chunks that it broke the input prompt into). Then the neighbors are computer via the Retro encoder (which seems small at 2 Transformer layers). Then the input prompt is processed similar to a GPT of 32 layers (with attention to the neighbors).
Run on a laptop? Perhaps on CPU. Try running T0 [1] which is larger at 11B parameters.
Parameter count is not very accurate measure of model performance. Mixture of Expert models like the Switch Transformer [2] can be 1 trillion parameters in size, but are not 5X the performance, for example.
They clock the retrieval at 10 ms, unclear if that includes the BERT inference, however. My assumption is that it does not.
Summary: The latest batch of language models can be much smaller yet achieve GPT-3 like performance by being able to query a database or search the web for information. A key indication is that building larger and larger models is not the only way to improve performance.
Hope you find it useful. All feedback is welcome!
The rise of GPT language models is making a lot of people start to experiment with using them for text generation and general problem solving for language tasks. This is a guide to get you started in thinking about prompts. Hope you find it useful. All feedback is appreciated.