All articles

Blazing Kiwi

Blazing Kiwi explained: a small AI that looks things up

How Flyingkiwi’s new 81 MB English model works: a small model, an offline Wikipedia library it searches on your device, and links to the pages it used.

Türkçe özeti oku ↓

Blazing Kiwi is the new default English model in Flyingkiwi. It has about 122 million parameters, roughly a fifth of the 0.6B model that the English chat used until now. Like the other Flyingkiwi models, it runs entirely in your web browser, and your messages never leave your device.

Its main idea is simple. A model this small cannot hold much knowledge in its own numbers, so Blazing Kiwi is paired with a library it can search. It is taught to read what it finds and to say where it came from. This article explains how that works, with pictures rather than equations.

A small student with a good index

Picture two students sitting the same exam. The first has tried to memorise an entire encyclopedia. The second carries a small pocket library with a good index, and checks the right page before answering. The first student knows more by heart, but only up to the limit of memory. The second knows less by heart, but can find what the question needs.

Blazing Kiwi is built like the second student. Its library is a set of short article summaries, downloaded with the model and searched on your device. The model reads the notes it finds and uses them when they help.

Making a small model smaller still

The model file is 69.5 MB, under the 70 MB target. Two changes make that possible. The first is the number format. Every number inside the model is stored in 4 bits, with one shared scale for each group of 32 numbers. Think of a shop that rounds every price to the nearest coin. The small change is lost, but the price still tells you roughly what something costs. The training described below also practises with rounded numbers, so the model learns to work with them.

The second change is the vocabulary. A model reads text in word pieces, and its list of pieces was cut from 49,152 to 27,799. The pieces that remain are the ones English chat and its library actually use. It is like a dictionary that keeps only the words you use every day.

For comparison, the 0.6B model is a 571 MB download. Measured in the same browser on the same laptop, its tab peaked at 1,237 MB of memory and Blazing Kiwi’s at 509 MB, and Blazing Kiwi wrote its replies about three and a half times faster.

The library it reads from

The library holds the opening sentences of 49,690 English Wikipedia articles, each limited to about 110 word pieces. The articles come from Wikipedia’s “vital articles” lists at Levels 4 and 5, which editors curate to cover all the major subjects. The summaries were fetched on 30 October 2026. For 3,270 of them, places with a travel guide, the entry also points to Wikivoyage.

The library adds 10.6 MB to the model’s download. Its text is Wikipedia’s own, licensed under CC BY-SA 4.0, which asks for credit to the authors and the same licence for adapted text. This article gives that credit: the summaries come from Wikipedia and its contributors.

Keys and matching

To find the right article, the app needs a fast way to compare your question with 49,690 summaries. It uses a 256-bit key. While the model reads your message, one of its internal layers is averaged over your words. The result is turned into 256 yes or no answers, one for each of 256 numbers, depending on whether that number is positive or negative. Every library entry has its own key, worked out in advance, so at question time only your message needs one.

The picture for this is an old paper filing system: edge-notched index cards, known as McBee Keysort cards, which were used in the middle of the twentieth century. Each card has a row of holes along its edge, and a notch can be cut at any hole or left whole. A card is therefore a row of yes and no answers. A needle pushed through a hole lifts out the cards that are notched there.

Blazing Kiwi does something similar, with a score instead of a needle. It compares your key with all 49,690 keys, one position at a time: each position where the two keys agree adds a point, and each position where they differ takes one away. On its own, the key is only a rough guide, so the score adds two simpler clues. The first is word matching, the way a classic search engine works: word pieces that your message shares with an entry count, and rare pieces count far more than common ones, so “chlorophyll” matters and “what” does not. The second is a bonus when an article’s title appears in your message, so a question that names its subject finds its article. The entry with the highest total is the closest match.

Click a hole on the query card, or focus the figure and use the arrow keys and Space.

Photosynthesis · agree 14 · differ 2 · key score 12 of 16

  1. Photosynthesisagree 14 · differ 2 · key score 12note
  2. Calvin cycleagree 12 · differ 4 · key score 8note
  3. Chlorophyllagree 11 · differ 5 · key score 6further page
  4. Leafagree 10 · differ 6 · key score 4further page
  5. Marsagree 7 · differ 9 · key score -2further page
  6. Jazzagree 5 · differ 11 · key score -6in the deck
Fig. 1 — The card sorter. A message's key is the signs of 256 numbers projected from the averaged internal state of the message, one bit each. Each of the 49,690 library entries has its own 256-bit key, made ahead of time the same way. Matching compares bit by bit: key score = agree − differ, which equals 256 − 2 × differ, so higher is better. The shipped search adds two more terms to it: a BM25 score for the word pieces an entry shares with the message, and a bonus when the entry's title appears in the message; the key score counts 32 × (agree − differ) / 256 points (version 1.1). The best two entries become notes the model reads before answering; the next three are offered as further pages. The figure ranks by the key score alone. 16 of the 256 positions are drawn: a notch open to the edge is 1, a closed hole is 0. Every number on the figure is computed from those 16 alone, so agree and differ always add to 16.

How a question is answered

Here is the path for one message. First, the model reads your words and makes the key. Second, the app scores every library entry with the key, the word pieces of your message and the titles, and picks the best matches. The whole search takes about a quarter of a millisecond on the device. The two best entries are given to the model as notes it reads before answering. The notes sit in a separate part of the conversation, so you do not see them. The next three entries are listed by title only. While the model writes, the app gives a small nudge to every word piece that appears in the two notes, so the model leans on the article’s own wording instead of improvising. In tests of the first version, that nudge alone raised the number of correct answers to 200 library questions from 58 to 100.

If even the best match is weak, no notes are added, and the model answers from what it has learned, which is limited. The model was trained to use a note when it answers, to ignore notes that do not help, and to finish with a line reading “Read more” followed by a title in double square brackets, whenever it used one. The page turns that line into a link to the Wikipedia article. On held-back test questions written from passages the model never trained on, the right passage was among the two notes 94.1% of the time; for short questions that name a subject, such as “What is chlorophyll?”, it was 97.5%.

How Blazing Kiwi answers a question The message is read by the model's 30 layers. The state after one layer is averaged and turned into a 256-bit key. The key and the message's word pieces are scored against 49,690 library entries; the best two become notes and the next three are offered by title. The notes go back into the model as a library turn, and the answer may cite only the offered titles. 1 · Your message What does chlorophyll do? 2 · The model reads it 30 layers Recall head average after layer 24 → × 256×576 keep the signs: a 256-bit key 3 · The key (first 64 of 256 bits) 4 · Search 49,690 library entries score = word-piece match (BM25) + key match + title bonus 5 · Two notes and three more titles [[Chlorophyll]] Green pigments found in… [[Lutein]] Yellow organic pigment… Also: [[Yellow-green algae]] · [[Plant]] · [[Chloroplast]] library turn, read by the model 6 · The answer Chlorophyll is a green pigment found in plants, algae, and bacteria that absorbs sunlight to power the process of photosynthesis. … Read more: [[Chlorophyll]] After [[ only the five offered titles can be written.
How Blazing Kiwi answers “What does chlorophyll do?”. Everything shown is real output of the shipped model and library for this message: the key (64 of its 256 bits are drawn), the five pages found and the greedy reply, shortened after its first sentence.

A librarian who can only recommend what is on the shelf

Think of a librarian who may only recommend books that are on the shelf in front of them. Blazing Kiwi works in the same way when it cites a source. A small program in the decoder, the part that writes the reply one piece at a time, applies a rule here. After an opening double bracket, the model may only write one of the five titles it was offered.

So every link points to a page the model was actually shown. This makes each link checkable, but it does not make the sentence before it correct. The model can still misread a note, so open the linked article and check what it says.

How it was trained

A much larger open model, Qwen3.5-35B-A3B, wrote about 30,000 example conversations. They covered questions about library passages answered from notes, general conversation, answers in five layouts (fact cards, flowcharts, diagrams, tables, and pros and cons), questions asking where to read more about a subject, questions about the model itself, and follow-up questions.

Training then happened in two steps. A mid-sized model from the same family, SmolLM2-1.7B-Instruct, was first trained on those conversations. Blazing Kiwi, which is built from SmolLM2-135M-Instruct, an open model by Hugging Face, learned from two sources. One was the written answers. The other was the mid-sized model’s word-by-word probabilities, which work as a teacher assistant. For the last 30% of training, it practised with its numbers already rounded to 4 bits. The file you download is therefore the model that was trained.

Of the library passages, 600 were held back entirely for testing, so the test passages were never used in training. Training ran on one rented GPU in Google Colab.

What it is bad at

Blazing Kiwi has clear limits. Its arithmetic is weak, and so is its multi-step reasoning. When the library has nothing relevant, it knows little. It can misread a note or mix up two notes, and it works in English only. Do not use it for sums you need to be exact.

For harder questions, the 0.6B model is one click away in the model menu. It stays available, and the Turkish model is unchanged. On Flyingkiwi’s frozen test set of 100 reasoning and conversation cases, graded blind, Blazing Kiwi scored 25, against 64 for the unchanged 0.6B base model and 66 for Flyingkiwi’s own 0.6B model. On 200 questions about library articles it never trained on, it answered 120 correctly, against 25 for the 0.6B model, which has no library. The current version, 1.1, learned from 9,400 more example conversations about false premises, unclear requests and other everyday situations. It answered more library questions correctly than the first version (120 against 103) but scored the same on reasoning, which suggests the limit is the model’s size rather than its lessons. On the same test, a model of the same family about three times the size scored 30 without any of this training, and one about twelve times the size scored 73.

Use it for short, plain questions about the subjects in its library, for simple wording and for explaining ideas. Then check the answer against the linked article, especially names, dates and figures.

Türkçe özet

Blazing Kiwi, Flyingkiwi’nin yeni varsayılan İngilizce modelidir. Yaklaşık 122 milyon parametresi vardır; bu, şimdiye kadar İngilizce sohbette kullanılan 0,6 milyar parametreli modelin yaklaşık beşte biri demektir. Tarayıcıda çalışır ve mesajların cihazından çıkmaz. Model her sayıyı 4 bitle saklar ve kelime parçalarının listesini ihtiyaç duyulanlarla sınırlar. Dosyası 69,5 MB’dır; bu, 70 MB hedefinin altındadır.

Model her şeyi ezbere bilmeye çalışmaz; bir kütüphaneye bakar. Kütüphane, 49.690 İngilizce Wikipedia maddesinin kısa özetlerinden oluşur ve 30 Ekim 2026’da alınmıştır. Her mesajın anahtarı 256 evet-hayır konumundan oluşur ve uygulama bu anahtarı kütüphanedeki tüm anahtarlarla karşılaştırır; buna, klasik arama motorlarındaki gibi mesajdaki kelime parçalarının eşleşmesi ve maddenin başlığı mesajda geçiyorsa bir bonus eklenir. En iyi iki madde, model yanıt vermeden önce okuyacağı notlar olarak verilir. Model bir not kullandığında yanıtın sonunda kaynak başlığını gösterir ve bu başlık Wikipedia maddesine bağlanır. Model yalnızca kendisine gösterilen beş başlıktan birine bağlantı verebilir.

Zayıf yönleri de açıkça söylenmelidir. Aritmetik ve çok adımlı akıl yürütme zayıftır; kütüphanede ilgili bir şey yoksa model çok az şey bilir. Notları yanlış okuyabilir ya da karıştırabilir ve yalnızca İngilizce çalışır. Zor sorular için 0,6 milyar parametreli model, model menüsünde bir tık uzaktadır. Kesin bilgileri, özellikle isimleri, tarihleri ve rakamları, her zaman bağlantıdan ve güvenilir bir kaynaktan kontrol et.