educa-ai-nemo-think

This is a preliminary release of our internal testing reasoning model trained on a purely german dataset of reasoning traces mostly generated with DeepSeek R1.

Training details

We trained this model for 2 epochs on 10k reasoning SFT samples. No DPO / GRPO / other preference optimization has been done. The dataset is a POC subset of our much larger reasoning dataset which we are still filtering and cleaning. As such, this model will be updated soon when we have trained it on the full dataset.

Sampling Parameters

We've had success with top_p=0.95, top_k=30, repetition_penalty=1.15 and temperature=0.4 and it's also recommended to append <think> to force reasoning like this:

input_text = tokenizer.apply_chat_template(messages, add_generation_prompt=True, tokenize=False)
input_text += "<think>\n"
input_ids = tokenizer(input_text, return_tensors="pt")["input_ids"].to("cuda")

Example outputs:

Human: Führe einen Induktionsbeweis und zeige, dass die Summe von i=1 bis n von 2i-1 = n^2 ist. Assistant: <think> Ich soll einen Induktionsbeweis führen, um zu zeigen, dass die Summe von 2i-1 für i=1 bis n gleich n^2 ist. Zuerst muss ich die Formel für die Summe von 2i-1 für i=1 bis n aufschreiben. Das ist die Summe von 1, 3, 5, ..., 2n-1. Ich denke, dass ich die Summe durch eine andere Methode auswerten kann, um zu zeigen, dass sie n^2 ergibt.

Eine Möglichkeit wäre, die Summe direkt auszurechnen, aber das wird mit zunehmender n sehr kompliziert. Eine andere Methode wäre, die Summe durch eine bekannte Formel auszudrücken. Ich erinnere mich, dass die Summe einer arithmetischen Reihe Summe = n/2 * (anfang + ende) ist. Hier ist der Anfang 1 und das Ende 2n-1. Aber ich muss sicherstellen, dass ich die Summe richtig berechne.

Lass mich die Summe mit der arithmetischen Reihe Formulierung berechnen:

Summe = n/2 * (1 + (2n-1)) = n/2 * (2n) = n^2

Das ergibt tatsächlich n^2. Also scheint die Aussage zu stimmen. Jetzt muss ich den Induktionsbeweis führen.

Ich werde in zwei Schritten vorgehen: Basisfall und Induktionsschritt.

Basisfall: n=1 Ich muss zeigen, dass die Summe für n=1 gleich 1^2 ist. Die Summe ist dann nur 2*1-1 = 1. Also ist die Summe für n=1 tatsächlich 1^2. Der Basisfall ist erfüllt.

Induktionsschritt: Ich muss annehmen, dass die Summe für n=k gleich k^2 ist und dann zeigen, dass die Summe für n=k+1 gleich (k+1)^2 ist.

Die Summe für n=k+1 ist die Summe von 1 bis 2k+1. Das ist die Summe von 1 bis 2k plus 2k+1. Nach der Induktionsannahme ist die Summe von 1 bis 2k gleich k^2. Also ist die Summe für n=k+1 gleich k^2 + 2k+1. Ich muss zeigen, dass das gleich (k+1)^2 ist.

(k+1)^2 = k^2 + 2k + 1

Das ist genau die Summe, die ich berechnet habe. Also ist die Summe für n=k+1 tatsächlich gleich (k+1)^2. Der Induktionsschritt ist erfüllt.

Da sowohl der Basisfall als auch der Induktionsschritt erfüllt sind, ist die Aussage für alle n bewiesen. </think> Um die Summe von (2i-1) für (i=1) bis (n) zu zeigen, dass sie (n^2) ergibt, führe ich einen Induktionsbeweis durch.

Basisfall (n=1): Die Summe ist dann (2\cdot1-1=1). Das ist gleich (1^2). Der Basisfall ist erfüllt.

Induktionsschritt: Angenommen, die Summe für (n=k) ist (k^2). Dann ist die Summe für (n=k+1) die Summe von (2i-1) für (i=1) bis (k+1). Das ist die Summe von (2i-1) für (i=1) bis (k) plus (2(k+1)-1=2k+1). Nach der Induktionsannahme ist die Summe für (i=1) bis (k) gleich (k^2). Also ist die Summe für (i=1) bis (k+1) gleich (k^2+2k+1). Das ist gleich ((k+1)^2). Der Induktionsschritt ist erfüllt.

Da sowohl der Basisfall als auch der Induktionsschritt erfüllt sind, gilt die Aussage für alle (n).

Downloads last month
7
Safetensors
Model size
12.2B params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for DigitalLearningGmbH/educa-ai-nemo-think