#ifndef XENITH_HELP_H #define XENITH_HELP_H #define NEW #define TRAIN #define GEN #define INFO #define GRADCHECK #define BENCH //#define OLLAMA #define UPDATE //#define TUI #ifdef NEW #define CMD_NEW " new создать новую модель из корпуса\n" #else #define CMD_NEW "" #endif #ifdef TRAIN #define CMD_TRAIN " train обучить существующую модель\n" #else #define CMD_TRAIN "" #endif #ifdef GEN #define CMD_GEN " gen сгенерировать текст\n" #else #define CMD_GEN "" #endif #ifdef INFO #define CMD_INFO " info показать конфигурацию модели\n" #else #define CMD_INFO "" #endif #ifdef GRADCHECK #define CMD_GRADCHECK " gradcheck проверить градиенты численно\n" #else #define CMD_GRADCHECK "" #endif #ifdef BENCH #define CMD_BENCH " bench замерить скорость форварда и шага обучения\n" #else #define CMD_BENCH "" #endif #ifdef OLLAMA #define CMD_OLLAMA " ollama запустьтить сервер с api ollama\n" #else #define CMD_OLLAMA "" #endif #ifdef UPDATE #define CMD_UPDATE " update Автомотическое обновление с гита\n" #else #define CMD_UPDATE "" #endif #ifdef TUI #define CMD_TUI " tui Графическо-консольный режим (находится в тестировании)\n" #else #define CMD_TUI "" #endif #ifdef NEW #define OPT_NEW "\nОПЦИИ new\n" \ " --corpus PATH текст для построения словаря (обязательно)\n" \ " --out PATH файл модели (по умолчанию model.xnh)\n" \ " --vocab N размер словаря (по умолчанию 512)\n" \ " --embd N размер эмбеддинга (по умолчанию 128)\n" \ " --layers N число слоёв (по умолчанию 4)\n" \ " --heads N число голов (по умолчанию 4)\n" \ " --ctx N максимальный контекст (по умолчанию 128)\n" \ " --ffn N размер FFN (по умолчанию 4*embd)\n" \ " --rope N база RoPE (по умолчанию 10000)\n" \ " --seed N зерно инициализации (по умолчанию 1337)\n" \ " --untied отдельная матрица выхода вместо привязанной к wte\n" \ " --view-vocab выводит словарь нейросети\n" #else #define OPT_NEW "" #endif #ifdef TRAIN #define OPT_TRAIN "\nОПЦИИ train\n" \ " --corpus PATH обучающий текст (обязательно)\n" \ " --out PATH куда сохранить (по умолчанию перезапись входного файла)\n" \ " --steps N шагов (по умолчанию 1000)\n" \ " --batch N батч (по умолчанию 8)\n" \ " --block N длина окна (по умолчанию 64)\n" \ " --lr F скорость (по умолчанию 3e-4)\n" \ " --wd F weight decay (по умолчанию 0.01)\n" \ " --clip F клип нормы градиента (по умолчанию 1.0)\n" \ " --warmup N прогрев (по умолчанию 100)\n" \ " --seed N зерно (по умолчанию 1337)\n" \ " --ckpt-every N промежуточное сохранение каждые N шагов (0 = нет)\n" \ " --val-every N валидация каждые N шагов (0 = нет)\n" \ " --val-tokens N размер валидации (по умолчанию 20000)\n" \ " --threads N потоков (0 = все ядра)\n" \ " --resume продолжить с сохранённого step (Adam-state из файла)\n" \ " --fast эксперементаль флаг который ускоряет foreword примерно в x2-x5\n" #else #define OPT_TRAIN "" #endif #ifdef GEN #define OPT_GEN "\nОПЦИИ gen\n" \ " --prompt STR стартовый текст\n" \ " --n N сколько токенов (по умолчанию 200)\n" \ " --temp F температура, 0 = жадный выбор (по умолчанию 0.8)\n" \ " --top-k N top-k (0 = выкл)\n" \ " --top-p F top-p (1.0 = выкл)\n" \ " --seed N зерно\n" \ " --no-stream не печатать в процессе\n" \ " --batch \"a;b;c\" несколько промптов OPTчерез ;\n" \ " --show-tokens показать id токенов\n" #else #define OPT_GEN "" #endif #ifdef GRADCHECK #define OPT_GRADCHECK "\nОПЦИИ GRADCHECK\n" \ " --fast эксперементаль флаг который ускоряет foreword примерно в x2-x5\n" #else #define OPT_GRADCHECK "" #endif #ifdef BENCH #define OPT_BENCH "\nОПЦИИ BENCH\n" \ " --fast эксперементаль флаг который ускоряет foreword примерно в x2-x5\n" #else #define OPT_BENCH "" #endif #ifdef OLLAMA #define OPT_OLLAMA "\nОПЦИИ ollama\n" \ " --port PORT порт на котором будет открыт сервер\n" \ " --conf NAME.conf конфиг с настройками и списком моделей\n" #else #define OPT_OLLAMA "" #endif #define HELP_TEXT \ "ИСПОЛЬЗОВАНИЕ\n" \ " ./bin/Xenith <команда> [опции]\n\n" \ "КОМАНДЫ\n" \ CMD_NEW \ CMD_TRAIN \ CMD_GEN \ CMD_INFO \ CMD_GRADCHECK \ CMD_BENCH \ CMD_OLLAMA \ CMD_UPDATE \ CMD_TUI \ OPT_NEW \ OPT_TRAIN \ OPT_GEN \ OPT_GRADCHECK \ OPT_BENCH \ OPT_OLLAMA \ "\n" #endif