Skip to content

Commit be12186

Browse files
author
Tilelli LAB
committed
docs: translate all docs into French, Spanish, Simplified Chinese, German and Japanese (+ language switcher)
1 parent c9a8188 commit be12186

132 files changed

Lines changed: 9511 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CODE_OF_CONDUCT.de.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
[English](CODE_OF_CONDUCT.md) · [Français](CODE_OF_CONDUCT.fr.md) · [Español](CODE_OF_CONDUCT.es.md) · [简体中文](CODE_OF_CONDUCT.zh-CN.md) · **Deutsch** · [日本語](CODE_OF_CONDUCT.ja.md) <!-- i18n-switcher -->
2+
3+
# Verhaltenskodex
4+
5+
Dieses Projekt folgt dem [Contributor Covenant, Version 2.1](https://www.contributor-covenant.org/version/2/1/code_of_conduct/).
6+
7+
Kurz gesagt: sei respektvoll, unterstelle guten Willen und richte die Diskussion auf die Arbeit aus. Jeder ist willkommen, beizutragen, unabhängig von Herkunft oder Identität. Meldungen inakzeptablen Verhaltens können vertraulich an **hello@atomelm.com** gesendet werden und werden umgehend und vertraulich geprüft.
8+
9+
Der vollständige Text des Contributor Covenant — einschließlich der vollständigen Durchsetzungsrichtlinien — steht unter dem obigen Link und gilt für dieses Projekt in vollem Umfang.

CODE_OF_CONDUCT.es.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
[English](CODE_OF_CONDUCT.md) · [Français](CODE_OF_CONDUCT.fr.md) · **Español** · [简体中文](CODE_OF_CONDUCT.zh-CN.md) · [Deutsch](CODE_OF_CONDUCT.de.md) · [日本語](CODE_OF_CONDUCT.ja.md) <!-- i18n-switcher -->
2+
3+
# Código de conducta
4+
5+
Este proyecto sigue el [Contributor Covenant, versión 2.1](https://www.contributor-covenant.org/version/2/1/code_of_conduct/).
6+
7+
En resumen: sé respetuoso, presume buena fe, y centra la discusión en el trabajo. Todo el mundo es bienvenido a contribuir sin importar su procedencia o identidad. Los informes de comportamiento inaceptable pueden enviarse en privado a **hello@atomelm.com** y se revisarán con prontitud y confidencialidad.
8+
9+
El texto completo del Contributor Covenant — incluidas las directrices de aplicación completas — está en el enlace de arriba y se aplica íntegramente a este proyecto.

CODE_OF_CONDUCT.fr.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
[English](CODE_OF_CONDUCT.md) · **Français** · [Español](CODE_OF_CONDUCT.es.md) · [简体中文](CODE_OF_CONDUCT.zh-CN.md) · [Deutsch](CODE_OF_CONDUCT.de.md) · [日本語](CODE_OF_CONDUCT.ja.md) <!-- i18n-switcher -->
2+
3+
# Code de conduite
4+
5+
Ce projet suit le [Contributor Covenant, version 2.1](https://www.contributor-covenant.org/version/2/1/code_of_conduct/).
6+
7+
En bref : soyez respectueux, présumez la bonne foi, et concentrez la discussion sur le travail. Tout le monde est bienvenu pour contribuer, quel que soit son parcours ou son identité. Les signalements de comportement inacceptable peuvent être envoyés en privé à **hello@atomelm.com** et seront examinés rapidement et confidentiellement.
8+
9+
Le texte complet du Contributor Covenant — y compris les directives d'application complètes — se trouve au lien ci-dessus et s'applique intégralement à ce projet.

CODE_OF_CONDUCT.ja.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
[English](CODE_OF_CONDUCT.md) · [Français](CODE_OF_CONDUCT.fr.md) · [Español](CODE_OF_CONDUCT.es.md) · [简体中文](CODE_OF_CONDUCT.zh-CN.md) · [Deutsch](CODE_OF_CONDUCT.de.md) · **日本語** <!-- i18n-switcher -->
2+
3+
# 行動規範
4+
5+
本プロジェクトは [Contributor Covenant、バージョン 2.1](https://www.contributor-covenant.org/version/2/1/code_of_conduct/) に従います。
6+
7+
要するに:敬意を持ち、善意を前提とし、議論を作業そのものに集中させてください。背景や属性にかかわらず、誰でも歓迎して貢献できます。容認できない行動の報告は **hello@atomelm.com** に非公開で送信でき、迅速かつ秘密裏に審査されます。
8+
9+
Contributor Covenant の全文——完全な施行ガイドラインを含む——は上記リンクにあり、本プロジェクトに全面的に適用されます。

CODE_OF_CONDUCT.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
**English** · [Français](CODE_OF_CONDUCT.fr.md) · [Español](CODE_OF_CONDUCT.es.md) · [简体中文](CODE_OF_CONDUCT.zh-CN.md) · [Deutsch](CODE_OF_CONDUCT.de.md) · [日本語](CODE_OF_CONDUCT.ja.md) <!-- i18n-switcher -->
2+
13
# Code of Conduct
24

35
This project follows the [Contributor Covenant, version 2.1](https://www.contributor-covenant.org/version/2/1/code_of_conduct/).

CODE_OF_CONDUCT.zh-CN.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
[English](CODE_OF_CONDUCT.md) · [Français](CODE_OF_CONDUCT.fr.md) · [Español](CODE_OF_CONDUCT.es.md) · **简体中文** · [Deutsch](CODE_OF_CONDUCT.de.md) · [日本語](CODE_OF_CONDUCT.ja.md) <!-- i18n-switcher -->
2+
3+
# 行为准则
4+
5+
本项目遵循 [Contributor Covenant,2.1 版](https://www.contributor-covenant.org/version/2/1/code_of_conduct/)
6+
7+
简而言之:保持尊重、假定善意,并将讨论聚焦于工作本身。无论背景或身份如何,欢迎每个人做贡献。对不可接受行为的举报可私下发送至 **hello@atomelm.com**,将得到迅速且保密的审阅。
8+
9+
Contributor Covenant 的完整文本——包括完整的执行指南——见上方链接,并完整适用于本项目。

CONTRIBUTING.de.md

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
[English](CONTRIBUTING.md) · [Français](CONTRIBUTING.fr.md) · [Español](CONTRIBUTING.es.md) · [简体中文](CONTRIBUTING.zh-CN.md) · **Deutsch** · [日本語](CONTRIBUTING.ja.md) <!-- i18n-switcher -->
2+
3+
# Beitragen zu Atome LM
4+
5+
Danke, dass du einen Beitrag in Erwägung ziehst. Dies ist ein kleines, fokussiertes Projekt — ein winziges ternäres Sprachmodell + eine C99-Inferenz-Engine, die bit-genau mit ihm spricht. Lies zuerst `PROJECT_CONTENT.md`; es behandelt, was du nicht brechen darfst.
6+
7+
## Schnellstart
8+
9+
```bash
10+
git clone https://github.com/TilelliLab/atome-lm
11+
cd atome-lm
12+
./install.sh
13+
. .venv/bin/activate
14+
pytest -q # expect: 146 passed (or 145 + 1 skipped without qemu-system-arm)
15+
```
16+
17+
## Bugs melden
18+
19+
Öffne ein Issue auf GitHub mit:
20+
21+
- was du ausgeführt hast (exakter Befehl)
22+
- was du erwartet hast
23+
- was passiert ist (vollständiger Fehler, nicht paraphrasiert)
24+
- deine Plattform: OS, Python-Version und `python -c "import torch; print(torch.__version__)"`
25+
26+
Falls du auf einen Paritätsfehler stößt (Python-Forward ≠ C-Forward), hänge bitte den fehlschlagenden Seed und jeden von dir trainierten Checkpoint an — das sind die Bugs mit höchster Priorität.
27+
28+
## Einen Pull Request einreichen
29+
30+
1. Forke das Repo und erstelle einen Branch von `main`.
31+
2. Mache deine Änderung.
32+
3. Führe die vollständige Test-Suite aus — jeder PR muss `pytest -q` grün halten.
33+
4. Falls deine Änderung `atome_llm/core/`, `c_engine/upstream/` oder das Exportformat berührt, **bestätige ausdrücklich**, dass diese Tests weiterhin bestehen:
34+
- `tests/test_parity_with_c.py` — Single-Forward-Python-↔-C-Parität
35+
- `tests/test_parity_multitoken.py` — Multi-Token-Python-↔-C-Parität
36+
- `tests/test_export_format.py` — Binärformat + Header-Generierung
37+
5. Öffne den PR. Die CI führt die Suite auf Python 3.10 / 3.11 / 3.12 erneut aus.
38+
39+
## Umfang akzeptabler Änderungen
40+
41+
Willkommen:
42+
43+
- Bugfixes
44+
- Neue Testabdeckung (besonders Fuzz-Fälle am C-Parser und Grenzeingaben an `atome_predict_next` / `atome_generate`)
45+
- Performance-Verbesserungen, die die bit-genaue Parität wahren
46+
- Dokumentations-Korrekturen und -Klärungen
47+
- Neue MCU-Zielboards unter `c_engine/targets/`, *solange sie die Upstream-Engine nicht ändern*
48+
- Neue Baselines unter `atome_llm/baselines/` für einen ehrlichen A/B-Vergleich
49+
50+
Außerhalb des Umfangs, bitte öffne keine PRs für diese:
51+
52+
- Heap-Allokation, dynamischen Speicher oder libc-Abhängigkeiten zu `c_engine/upstream/` hinzufügen
53+
- "Sollte nicht passieren"-Fallbacks zu deterministischen Codepfaden hinzufügen
54+
- Neue Tokenizer bündeln (BPE / sentencepiece) — der Byte-Tokenizer ist eine tragende Designentscheidung für das MCU-Flash-Budget
55+
- Änderungen, die die Python-↔-C-Parität brechen, selbst wenn sie einen Benchmark verbessern
56+
- Neue Features, die Code von `c_engine/experiments/` nach `c_engine/upstream/` befördern, ohne vollständige Paritäts- + Grenzprüfungs-Abdeckung
57+
58+
## Coding-Standards
59+
60+
- Python: halte es einfach, keine Hilfsschichten, keine Dekoratoren-für-Stil. Passe dich der bestehenden Stimme an — kleine Funktionen, keine verfrühte Abstraktion, Kommentare nur, wenn das *Warum* nicht offensichtlich ist.
61+
- C: nur C99, keine GNU-Erweiterungen, keine libc über `<string.h>` / `<math.h>` / `<stdint.h>` hinaus. Statische Puffer, dimensioniert durch Kompilierzeit-`ATOME_*`-Makros. Grenzprüfung aller öffentlichen API-Eingaben.
62+
63+
## Sicherheit
64+
65+
Falls du ein Sicherheitsproblem findest (alles, was einem bösartigen Checkpoint oder `.atome`-Blob erlaubt, einen Host zu kompromittieren, der die Engine ausführt), sende bitte eine E-Mail an **hello@atomelm.com**, statt ein öffentliches Issue einzureichen. Wir koordinieren die Offenlegung.
66+
67+
## Lizenz
68+
69+
Durch das Einreichen eines Beitrags stimmst du zu, dass er unter der Apache License 2.0 (der Projektlizenz — siehe `LICENSE`) veröffentlicht wird.

CONTRIBUTING.es.md

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
[English](CONTRIBUTING.md) · [Français](CONTRIBUTING.fr.md) · **Español** · [简体中文](CONTRIBUTING.zh-CN.md) · [Deutsch](CONTRIBUTING.de.md) · [日本語](CONTRIBUTING.ja.md) <!-- i18n-switcher -->
2+
3+
# Contribuir a Atome LM
4+
5+
Gracias por considerar una contribución. Este es un proyecto pequeño y enfocado — un modelo de lenguaje ternario minúsculo + un motor de inferencia C99 que le habla al bit. Lee primero `PROJECT_CONTENT.md`; cubre lo que no debes romper.
6+
7+
## Inicio rápido
8+
9+
```bash
10+
git clone https://github.com/TilelliLab/atome-lm
11+
cd atome-lm
12+
./install.sh
13+
. .venv/bin/activate
14+
pytest -q # expect: 146 passed (or 145 + 1 skipped without qemu-system-arm)
15+
```
16+
17+
## Reportar bugs
18+
19+
Abre una issue en GitHub con:
20+
21+
- qué ejecutaste (comando exacto)
22+
- qué esperabas
23+
- qué pasó (error completo, no parafraseado)
24+
- tu plataforma: SO, versión de Python, y `python -c "import torch; print(torch.__version__)"`
25+
26+
Si te topas con un fallo de paridad (forward de Python ≠ forward de C), por favor adjunta la semilla que falla y cualquier checkpoint que hayas entrenado — estos son los bugs de máxima prioridad.
27+
28+
## Enviar una pull request
29+
30+
1. Haz fork del repo y crea una rama desde `main`.
31+
2. Haz tu cambio.
32+
3. Ejecuta la suite completa de tests — cada PR debe mantener `pytest -q` en verde.
33+
4. Si tu cambio toca `atome_llm/core/`, `c_engine/upstream/` o el formato de exportación, **confirma específicamente** que estos tests siguen pasando:
34+
- `tests/test_parity_with_c.py` — paridad forward-único Python ↔ C
35+
- `tests/test_parity_multitoken.py` — paridad multitoken Python ↔ C
36+
- `tests/test_export_format.py` — formato binario + generación de cabecera
37+
5. Abre la PR. La CI reejecutará la suite en Python 3.10 / 3.11 / 3.12.
38+
39+
## Alcance de los cambios aceptables
40+
41+
Bienvenidos:
42+
43+
- Correcciones de bugs
44+
- Nueva cobertura de tests (especialmente casos de fuzz sobre el parser C y entradas límite a `atome_predict_next` / `atome_generate`)
45+
- Mejoras de rendimiento que preserven la paridad exacta al bit
46+
- Correcciones y aclaraciones de documentación
47+
- Nuevas placas objetivo MCU bajo `c_engine/targets/`, *siempre que no cambien el motor upstream*
48+
- Nuevas referencias bajo `atome_llm/baselines/` para una comparación A/B honesta
49+
50+
Fuera de alcance, por favor no abras PR para esto:
51+
52+
- Añadir asignación de heap, memoria dinámica o dependencias de libc a `c_engine/upstream/`
53+
- Añadir fallbacks «no debería pasar» a rutas de código deterministas
54+
- Empaquetar nuevos tokenizadores (BPE / sentencepiece) — el tokenizador de bytes es una decisión de diseño portante para el presupuesto de flash de MCU
55+
- Cambios que rompan la paridad Python ↔ C, aunque mejoren un benchmark
56+
- Nuevas funciones que promuevan código de `c_engine/experiments/` a `c_engine/upstream/` sin cobertura completa de paridad + comprobación de límites
57+
58+
## Estándares de código
59+
60+
- Python: mantenlo simple, sin capas de ayuda, sin decoradores-por-estilo. Ajústate a la voz existente — funciones pequeñas, sin abstracción prematura, comentarios solo cuando el *porqué* no es obvio.
61+
- C: solo C99, sin extensiones GNU, sin libc más allá de `<string.h>` / `<math.h>` / `<stdint.h>`. Búferes estáticos dimensionados por macros `ATOME_*` en tiempo de compilación. Comprueba los límites de todas las entradas de la API pública.
62+
63+
## Seguridad
64+
65+
Si encuentras un problema de seguridad (cualquier cosa que permita que un checkpoint o blob `.atome` malicioso comprometa un host que ejecuta el motor), por favor envía un correo a **hello@atomelm.com** en lugar de abrir una issue pública. Coordinaremos la divulgación.
66+
67+
## Licencia
68+
69+
Al enviar una contribución aceptas que se publique bajo la Licencia Apache 2.0 (la licencia del proyecto — véase `LICENSE`).

CONTRIBUTING.fr.md

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
[English](CONTRIBUTING.md) · **Français** · [Español](CONTRIBUTING.es.md) · [简体中文](CONTRIBUTING.zh-CN.md) · [Deutsch](CONTRIBUTING.de.md) · [日本語](CONTRIBUTING.ja.md) <!-- i18n-switcher -->
2+
3+
# Contribuer à Atome LM
4+
5+
Merci d'envisager une contribution. Ceci est un petit projet ciblé — un modèle de langage ternaire minuscule + un moteur d'inférence C99 qui lui parle au bit près. Lisez d'abord `PROJECT_CONTENT.md` ; il couvre ce que vous ne devez pas casser.
6+
7+
## Démarrage rapide
8+
9+
```bash
10+
git clone https://github.com/TilelliLab/atome-lm
11+
cd atome-lm
12+
./install.sh
13+
. .venv/bin/activate
14+
pytest -q # expect: 146 passed (or 145 + 1 skipped without qemu-system-arm)
15+
```
16+
17+
## Signaler des bugs
18+
19+
Ouvrez une issue sur GitHub avec :
20+
21+
- ce que vous avez exécuté (commande exacte)
22+
- ce que vous attendiez
23+
- ce qui s'est passé (erreur complète, non paraphrasée)
24+
- votre plateforme : OS, version de Python, et `python -c "import torch; print(torch.__version__)"`
25+
26+
Si vous rencontrez un échec de parité (forward Python ≠ forward C), veuillez joindre la graine défaillante et tout point de contrôle que vous avez entraîné — ce sont les bugs de plus haute priorité.
27+
28+
## Soumettre une pull request
29+
30+
1. Forkez le dépôt et créez une branche depuis `main`.
31+
2. Faites votre changement.
32+
3. Exécutez toute la suite de tests — chaque PR doit garder `pytest -q` au vert.
33+
4. Si votre changement touche `atome_llm/core/`, `c_engine/upstream/` ou le format d'export, **confirmez spécifiquement** que ces tests passent toujours :
34+
- `tests/test_parity_with_c.py` — parité forward-unique Python ↔ C
35+
- `tests/test_parity_multitoken.py` — parité multi-jetons Python ↔ C
36+
- `tests/test_export_format.py` — format binaire + génération d'en-tête
37+
5. Ouvrez la PR. La CI relancera la suite sur Python 3.10 / 3.11 / 3.12.
38+
39+
## Périmètre des changements acceptables
40+
41+
Bienvenus :
42+
43+
- Corrections de bugs
44+
- Nouvelle couverture de tests (surtout des cas de fuzz sur le parseur C et des entrées limites vers `atome_predict_next` / `atome_generate`)
45+
- Améliorations de performance qui préservent la parité exacte au bit près
46+
- Corrections et clarifications de documentation
47+
- Nouvelles cartes cibles MCU sous `c_engine/targets/`, *tant qu'elles ne changent pas le moteur upstream*
48+
- Nouvelles références sous `atome_llm/baselines/` pour une comparaison A/B honnête
49+
50+
Hors périmètre, merci de ne pas ouvrir de PR pour ceci :
51+
52+
- Ajouter de l'allocation de tas, de la mémoire dynamique ou des dépendances libc à `c_engine/upstream/`
53+
- Ajouter des replis (fallbacks) « ne devrait pas arriver » à des chemins de code déterministes
54+
- Empaqueter de nouveaux tokeniseurs (BPE / sentencepiece) — le tokeniseur d'octets est un choix de conception porteur pour le budget de flash MCU
55+
- Des changements qui cassent la parité Python ↔ C, même s'ils améliorent un benchmark
56+
- De nouvelles fonctionnalités qui promeuvent du code de `c_engine/experiments/` vers `c_engine/upstream/` sans couverture complète de parité + vérification de bornes
57+
58+
## Standards de codage
59+
60+
- Python : gardez ça simple, pas de couches d'aide, pas de décorateurs-pour-le-style. Collez à la voix existante — petites fonctions, pas d'abstraction prématurée, des commentaires seulement quand le *pourquoi* n'est pas évident.
61+
- C : C99 seulement, pas d'extensions GNU, pas de libc au-delà de `<string.h>` / `<math.h>` / `<stdint.h>`. Tampons statiques dimensionnés par des macros `ATOME_*` à la compilation. Vérifiez les bornes de toutes les entrées de l'API publique.
62+
63+
## Sécurité
64+
65+
Si vous trouvez un problème de sécurité (quoi que ce soit qui permette à un point de contrôle ou blob `.atome` malveillant de compromettre un hôte exécutant le moteur), veuillez envoyer un e-mail à **hello@atomelm.com** au lieu d'ouvrir une issue publique. Nous coordonnerons la divulgation.
66+
67+
## Licence
68+
69+
En soumettant une contribution, vous acceptez qu'elle soit publiée sous la licence Apache 2.0 (la licence du projet — voir `LICENSE`).

0 commit comments

Comments
 (0)