sentencepiece
hunspell
Our great sponsors
sentencepiece | hunspell | |
---|---|---|
19 | 20 | |
9,480 | 2,002 | |
4.6% | 2.1% | |
8.1 | 7.7 | |
15 days ago | 7 days ago | |
C++ | C++ | |
Apache License 2.0 | GNU Lesser General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
sentencepiece
- sentencepiece
-
LLM.int8(): 8-Bit Matrix Multiplication for Transformers at Scale
you need to train the model on 1 trillion tokens (https://platform.openai.com/tokenizer https://github.com/google/sentencepiece) anyways for it to get reasoning capacities, which it feels very unlikely that your data is that much.
I'm highly skeptical that you have enough data to pretrain if you don't have enough data to fine tune.
fine tuning + vector search + prompting of as much stuff as you can, on a LLM like palm2 or gpt4 is what I would do. otherwise you can use falcon 40B ofc.
maybe I should charge for this ahah
-
[P] TokenMonster Ungreedy ~ 35% faster inference and 35% increased context-length for large language models (compared to tiktoken). Benchmarks included.
a) Comparison with SentencePiece tokenizer with comparable settings (It can also ignore word-boundaries and create phrase tokens)
-
LLaMA tokenizer: is a JavaScript implementation available anywhere?
LLaMA uses the sentencepiece tokenizer: https://github.com/google/sentencepiece
-
[P] New tokenization method improves LLM performance & context-length by 25%+
Besides, are you familiar with SentencePiece? What you are doing looks very similar (generate a large vocab, prune worst token until vocab size is reached), only the token selection criterion is different. It's also purely data driven in the sense that there are no assumption specific to language (and it can optionally segment across whitespace, as you are doing).
-
Code runs without definition of function (automatically calls a different function instead)
Hi, I'm studying the implementation of encode and decode functions for Google's SentencePiece tokenizer.
-
How to handle multiple languages in a sentence?
I think many LMs nowadays use unicode tokenizers, that are not tied to specific languages. E.g. sentencepiece is the most popular one: https://github.com/google/sentencepiece
- Large language models are having their Stable Diffusion moment
-
LLaMA-7B in Pure C++ with full Apple Silicon support
If you are interested in implementing LLaMA yourself or learning, I noticed that the reference code by Facebook is one of the cleaner, easier to read ML code I've seen in a while. https://github.com/facebookresearch/llama/blob/main/llama/mo... It's about 200 lines long. You probably do need a bit of knowledge to understand what you are reading but I was pleasantly surprised.
For example in comparison, StableDiffusion torch code in diffusers and transformers Python libraries has lots of conditionals, experiments etc. that are not being used that can make it hard to follow what is going on.
Last weekend I got the "main loop" of the transformer working in pure CPU Rust code, following the reference code. My crappy code is just very very slow as I focused on getting it to run, not making it fast. The tokenizer uses some Google thing https://github.com/google/sentencepiece but luckily for inference it seems that you just need to be able to parse the tokenizer model file and not understand how it was created; I was able to strip out the protobuf files from that repository and add it to Rust and read the tokens.
I am optimistic that someone makes a high quality CPU or some CPU+GPU+SSD combination thingmaling that will make it somewhat practical to run even the large LLM models without needing an A100 or two.
- ChatGPT in an iOS Shortcut – Worlds Smartest HomeKit Voice Assistant
hunspell
-
Is GNU Aspell the best spell checker for emacs on macOS?
Hunspell seems popular as well. I believe it's the one used by Firefox and LibreOffice, and I think it's the system spell checker in MacOS already? 🤷♂️
-
Why don't common browsers use Soundex for spelling suggestions?
Almost all browsers use the Hunspell library for spell checking. You should investigate what methods it uses for stemming and suggesting corrections. How does that algorithm work for non-English languages? The main variation you will see between browsers in spelling suggestions is the base dictionary that is used.
-
Does anyone know how to change the dictionary that W10 pulls from? Ideally replace with Google's brain?
I don't think so. Looking at the Chromium source it appears to use Hunspell. This is an okay spell checker, but not AI based AFAIK, only "Morphological analysis, stemming and generation".
-
Autocorrect anything with Google as a go-to spell check
Are you familiar with Hunspell? Dictionaries are comprehensive enough to be part of different Office Suites, so I don't see them as constricted to autocorrect.
-
Spell checker
If you're using Linux or MacOS, you should try hunspell.
- hunspell version?
-
Text Editor that supports spelling and grammar checking.
i prefer and use hunspell
-
spell-check selected text?
One can implement Huntspell which is what all browsers use (for example when typing in text areas). Is very simple and is C++.
- COMO FAZER COM QUE MEU PROGRAMA IDENTIFIQUE QUE UMA PALAVRA NÃO EXISTE
- Documentation on writing a spell checker
What are some alternatives?
transformers - 🤗 Transformers: State-of-the-art Machine Learning for Pytorch, TensorFlow, and JAX.
SymSpell - SymSpell: 1 million times faster spelling correction & fuzzy search through Symmetric Delete spelling correction algorithm
CTranslate2 - Fast inference engine for Transformer models
nuspell - 🖋️ Fast and safe spellchecking C++ library
llama - Inference code for Llama models
spellsitter.nvim - Treesitter powered spellchecker
gpt-2 - Code for the paper "Language Models are Unsupervised Multitask Learners"
WeCantSpell.Hunspell - A port of Hunspell v1 for .NET and .NET Standard
text-generation-webui - A Gradio web UI for Large Language Models. Supports transformers, GPTQ, AWQ, EXL2, llama.cpp (GGUF), Llama models.
cspell - A Spell Checker for Code!
OpenNMT-Tutorial - Neural Machine Translation (NMT) tutorial. Data preprocessing, model training, evaluation, and deployment.
JamSpell - Modern spell checking library - accurate, fast, multi-language