/ Модель

Характеристики

Контекст
4 096 токенов
Параметры
1,5 млрд
Лицензия
Apache 2.0
Архитектура
mixtral · MoE
Базовая модель
kautilyaa-9b-base
Библиотека
transformers
Опубликована
6 авг 2026

kautilyaa-9b-finance

Генерация текстаТекст → текст3 профессии

Kautilyaa — финансовая языковая модель для извлечения и анализа значений из предоставленных рыночных данных, документов SEC и финансовых новостей.

27скачиваний за 30 дней1лайквеса обновлены6 авг 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Тесты пользователейпока нет

Никто ещё не опубликовал тест этой модели. Соберите бенчмарк из своих задач — результат появится здесь.

  1. Добавьте модель в бенчмарк

    Вместе с другими моделями категории «Текст» — сравнение идёт внутри одной категории.

  2. Опишите свои задачи

    Напишите запросы, при необходимости приложите файлы и эталонные ответы.

  3. Запустите и опубликуйте

    Модели ответят на каждую задачу, судья оценит ответы. Опубликованный результат появится на этой странице.

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

Kautilyaa 9B — модель ThinkingDBx (Pvt. Ltd.), созданная Mallesh Madapathi для анализа финансовых данных. Это декодерная языковая модель со sparse Mixture-of-Experts: 9 млрд параметров всего, 2,6 млрд активных на токен и 8 экспертов с маршрутизацией top-2. По README модель обучена с нуля на документах SEC EDGAR и финансовых новостях с ценовыми данными FNSPID, затем прошла инструкционную настройку; метаданные указывают связь с thinkingdbx/kautilyaa-9b-base как с дообученной моделью.

Она принимает текстовые запросы и контекстные блоки с рыночными данными, чтобы извлекать и сопоставлять указанные значения, ранжировать инструменты по заданному показателю и отвечать на вопросы по финансовым документам и новостям. Для корректной атрибуции в каждом блоке контекста должен быть ровно один финансовый инструмент; при нескольких инструментах модель часто отвечает о первом.

Контекст составляет 4096 токенов. Модель не предназначена для арифметики, самостоятельного получения рыночных котировок или задач общего назначения. README отмечает повреждение части весов из-за weight decay и более слабые способности по сравнению с современными моделями общего назначения. Лицензия — Apache-2.0.

Сценарии применения

  • извлечение котировок и мультипликаторов из переданного блока рыночных данных
  • ответы на вопросы по финансовым показателям из контекста
  • ранжирование инструментов по предоставленной метрике
  • поиск значений в финансовых новостях и документах SEC
  • отказ от цитирования инструмента, отсутствующего в контексте

Ограничения

В контекстном блоке должен быть ровно один инструмент: при нескольких модель склонна отвечать о первом. Она ненадёжно выполняет арифметику, не знает актуальные котировки без переданных данных, ограничена контекстом 4096 токенов и ослаблена повреждением весов при предобучении.

Для каких профессий подходит3

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

Kautilyaa 9B (MoE): Financial Analysis Model

Developer: ThinkingDBx (Pvt. Ltd.) · Created by Mallesh Madapathi Model type: Sparse Mixture-of-Experts, decoder-only causal LM Status: Research preview

Disclaimer. Kautilyaa is a research and analysis tool. Nothing it produces constitutes financial advice, an investment recommendation, or a solicitation to trade. It has no knowledge of live markets on its own. See Grounding.


At a glance

PropertyValue
Total parameters9B
Active parameters per token2.6B
Experts / routing8 experts, top-2
Layers / hidden / heads32 / 2048 / 16 (4 KV heads, GQA)
Context window4,096 tokens
Vocabulary49,152 (SentencePiece, trained from scratch)
Precisionbfloat16
Prompt formatChatML
Base architectureMixtral-compatible (MixtralForCausalLM)

Pre-trained from scratch on SEC EDGAR filings and FNSPID (financial news + price data), then instruction-tuned. It is not a fine-tune of an existing open-weight model.


What it is for

Kautilyaa is built to sit behind a retrieval layer that injects live market data into its context. Its job is to read those numbers and reason about them, not to recall prices from memory, which it cannot do.

Works well:

  • Reading a [LIVE MARKET DATA] block and answering questions from it
  • Quoting prices, multiples, margins, ranges accurately from context
  • Ranking / screening a basket of instruments on a supplied metric
  • Declining to quote an instrument it wasn't given data for
  • Correcting a user who asserts a figure contradicting the supplied data
  • SEC filing and financial-news register

Does not work:

  • More than one instrument per context block. See the hard constraint below.
  • Arithmetic. Do not ask it to compute percentages, ratios, or differences. It will produce plausible, wrong numbers. Compute derived values upstream and put them in the context block.
  • Recalling live or historical prices from memory
  • General-purpose assistant tasks outside finance
  • Long documents. The context window is 4,096 tokens

Hard constraint: one instrument per context block

The model does not select an instrument from the question. It anchors on the first instrument in the context block and answers using that one's numbers, whichever instrument was actually asked about.

Measured on 32 hand-written questions with disjoint numeric bands per instrument, so every figure is unambiguously attributable:

Instruments in blockCorrect attributionCross-talk errorsFully clean answers
1100%08/8
250%204/8
336%272/8
522%262/8

At one instrument the model is exact: perfect attribution, no cross-talk, no invented numbers. With two or more it reliably answers about the wrong one. For example, asked about HDFCBANK.NS it returns Tesla's price, carried over from the first block entry and rendered with a rupee sign.

Integrations must inject exactly one instrument per request. If a user names several, issue one call per instrument and merge the results. This is not a soft recommendation; it is the difference between 100% and 50% correctness.


Measured performance

Perplexity, identical texts, before and after instruction tuning:

Text typeBaseInstruction-tuned
General prose2.402.39
SEC filing language6.606.64
Financial news9.909.33
SQL (out of domain)4.404.50

Instruction tuning caused no measurable capability regression.

Grounding behaviour, 150 held-out cases with context blocks containing values absent from training. Hallucinated numbers counts numeric tokens in the answer that do not appear in the supplied context.

CategorynHallucinated numbers / answerClean answersCitation recall
Quote readout180.00100%78%
52-week position170.00100%65%
Valuation200.00100%30%
Fundamentals130.00100%60%
Comparison180.00100%93%
Screening / ranking160.00100%86%
Correcting a wrong figure160.00100%100%
Absent instrument140.00100%n/a
Personal advice request180.00100%89%
All1500.00100%67%
  • Declines to quote an instrument absent from context: 100%
  • Declines to give personalised investment advice: 89%
  • Emits <|im_end|> correctly: 100% (given an adequate token budget)
  • Includes a risk disclaimer: 87%

Zero hallucinated numeric values across 150 held-out cases. Every figure in every answer traces to the supplied context block. Citation recall is the share of available values the answer chose to cite. Lower is not an error; it reflects answer brevity.


Prompt format

ChatML. A chat template ships in tokenizer_config.json, so:

from transformers import AutoTokenizer, AutoModelForCausalLM
tok = AutoTokenizer.from_pretrained("kautilyaa-9b")
model = AutoModelForCausalLM.from_pretrained("kautilyaa-9b", dtype="bfloat16")

msgs = [
    {"role": "system", "content": SYSTEM_PROMPT + "\n\n" + live_market_block},
    {"role": "user", "content": "Where does INFY.NS sit in its 52-week range?"},
]
ids = tok.apply_chat_template(msgs, add_generation_prompt=True, return_tensors="pt")
out = model.generate(ids, max_new_tokens=256, suppress_tokens=[0, 1, 3])

suppress_tokens is required

Token IDs 0 (<unk>), 1 (<s>) and 3 (<pad>) have near-zero embeddings but above-average lm_head norms. They were never targets during pre-training, so they never received the negative gradient that shaped real tokens. Under uncertainty they win, and generation collapses into repeating them. Always pass suppress_tokens=[0, 1, 3]. It ships in generation_config.json.

Do not prepend BOS. The <s> embedding is dead (norm 0.003) and prepending it roughly doubles loss (9.13 vs 4.70 measured). add_bos_token is set to false.

Serve with vLLM or transformers. Ollama's Modelfile cannot express suppress_tokens, so the collapse mitigation does not survive that path.


Known limitations and provenance

Documented plainly, because they affect how the model behaves:

Weight decay damaged the network during pre-training. The MaxText config left adamw_mask at its default [], which applies AdamW decay to every parameter including RMSNorm gains and the embedding table. Over 576,000 steps at weight_decay=0.1 this drove early-layer norm gains toward zero. Layer 0's input_layernorm survived at +0.025 against an initialisation of 1.0, and the network compensated by inflating the final layer. Practical effects:

  • Effective depth is lower than 32 layers implies
  • 8,181 embedding rows decayed to near zero (tokens unseen in training)
  • Special-token embeddings are dead, hence suppress_tokens

The model was trained and converged with this damage, so it is internally consistent and usable, but it is weaker than its parameter count suggests. A modern open-weight 7–8B model will outperform it on general tasks.

Arithmetic is unreliable and this is not fixable by further tuning at this scale. Instruction tuning explicitly trains the model to quote raw values and make ordinal comparisons rather than compute. Architect around it.

Context is 4,096 tokens. Earlier internal documentation claimed 32,768; that was never true of this checkpoint. No RoPE scaling has been applied or validated.


Training

StageDetail
Pre-trainingMaxText on TPU, 576,000 steps, SEC EDGAR + FNSPID
Instruction tuningLoRA r=32, α=64, attention-only (q,k,v,o), weight_decay=0.0
SFT data1,007 curated finance examples + 3,200 synthetic grounded examples
Hardware1× A100 40GB (spot)

LoRA targets attention only: the capability being taught is retrieval from context, and attention is the mechanism that performs it. The MoE expert FFNs already carry the domain knowledge.

Synthetic grounding examples deliberately use values decoupled from real-world figures, so the model learns to read the context block rather than recall a prior. It therefore quotes what it is given and should never be trusted as a source of market facts on its own.


License

Apache-2.0. See LICENSE. Free for commercial use, modification and redistribution, with attribution and no warranty.

Citation

@misc{kautilyaa2026,
  title  = {Kautilyaa: A Mixture-of-Experts Model for Financial Analysis},
  author = {Madapathi, Mallesh},
  year   = {2026},
  note   = {ThinkingDBx (Pvt. Ltd.)}
}

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · transformers

Можно запустить

Подбираем GPU…

Класс архитектуры
MixtralForCausalLM
Ревизия весов
78f955f

0 моделей