/ Модель

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

Контекст
4 096 токенов
Параметры
1,5 млрд
Архитектура
qwen2 · dense
Опубликована
12 дек 2024

Qwen2.5-Math-1.5B-OREO-Value

Языковая модель3 профессии

Модель оценки последовательностей семейства Qwen2 для поддержки многошаговых математических рассуждений и задач в среде ALFWorld.

14скачиваний за 30 дней1лайквеса обновлены20 янв 2025

Бенчмарки

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

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

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

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

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

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

jwhj/Qwen2.5-Math-1.5B-OREO-Value — модель оценки последовательностей на базе семейства Qwen2, связанная с методом OREO (Offline REasoning Optimization) для многошаговых рассуждений языковых моделей. Репозиторий описывает обучение и оценку моделей для математических рассуждений и среды ALFWorld; данный чекпойнт предназначен для оценки решений или промежуточных состояний в таких сценариях.

Модель содержит 1,5 млрд параметров, использует плотную архитектуру Qwen2 и класс LLMForSequenceRegression. Контекст составляет 4096 токенов. В карточке описан сценарий применения с математическими задачами и интерактивными задачами ALFWorld; конкретные поддерживаемые естественные языки не обозначены. Файлы представлены в формате safetensors.

README не сообщает лицензию, поэтому условия использования по имеющимся сведениям определить нельзя. Специализированная оценка может быть ограничена задачами и распределениями данных, использованными при обучении; результаты в других областях не подтверждены.

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

  • оценка последовательностей при решении математических задач
  • ранжирование вариантов многошагового рассуждения
  • поддержка обучения языковой модели математическому reasoning методом OREO
  • оценка решений в интерактивных задачах ALFWorld

Ограничения

Карточка не указывает лицензию или поддерживаемые естественные языки. Пригодность оценки за пределами математических задач и ALFWorld не подтверждена.

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

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

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

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

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

Открыть на Hugging Face

OREO: Offline REasoning Optimization

Source code for Offline Reinforcement Learning for LLM Multi-Step Reasoning

Model: Policy | Value

Installation

This repo is based on OpenRLHF and the installation follows a similar process. We recommend using Docker to setup the environment.

First build Docker image

cd dockerfile
docker build -t [IMAGE_NAME] .

Start a docker container

docker run -itd --ipc host --gpus all [IMAGE_NAME] bash

Attach to the container

docker exec -it [CONTAINER_ID] /bin/bash

Install the current repo

cd [PATH_TO_THIS_REPO]
pip install -e .

As the data collection process involves randomness, we will publish the training data used in our experiments in the near future.

Reproduction

Training

You may need to change the following command line options in the following scripts:

  • --train_file specifies the path of training data in OREO experiments.
  • --dataset specifies the path of training data in SFT experiments.
  • --save_path specifies the path to save the model.
  • --pretrain specifies the path to load the pretrained model. In OREO experiments, this should be the path to the SFT model.

Math Reasoning

Supervised fine-tuning

cd example/scripts
bash train_oreo_sft.sh

OREO training

cd example/scripts
bash train_oreo.sh

To train the DeepSeekMath-7B-Instruct model,

cd example/scripts
bash train_oreo_deepseek-math.sh

Note that DeepSeekMath-7B-Instruct is already supervise fine-tuned, so we don't have an SFT phase here.

ALFWorld

Supervised fine-tuning

cd example/scripts
bash train_oreo_alfworld_sft.sh

OREO training

cd example/scripts
bash train_oreo_alfworld.sh

Evaluation

Math Reasoning

Make sure you have antlr4-python3-runtime==4.11.0 installed.

For Qwen-based models

cd example/scripts
python ../scratch/run_qwen.py --model [PATH_TO_YOUR_MODEL] --save [SAVE_GENERATED_RESULTS_JSONL]

For DeepSeekMath-based models

cd example/scripts
python ../scratch/run_qwen.py --model [PATH_TO_YOUR_MODEL] --no_bos --save [SAVE_GENERATED_RESULTS_JSONL]

Note the --no_bos option here.

Here is a script that uses the OREO model to solve a specific math problem:

from vllm import LLM, SamplingParams
from transformers import AutoTokenizer

model_path = "jwhj/Qwen2.5-Math-1.5B-OREO"
tokenizer = AutoTokenizer.from_pretrained(model_path)
llm = LLM(model_path)
params = SamplingParams(temperature=0, max_tokens=2048)

message = [
    {"role": "system", "content": "Please reason step by step, and put your final answer within \\boxed{}."},
    {
        "role": "user",
        "content": "Janet\u2019s ducks lay 16 eggs per day. She eats three for breakfast every morning and bakes muffins for her friends every day with four. She sells the remainder at the farmers' market daily for $2 per fresh duck egg. How much in dollars does she make every day at the farmers' market?",
    },
]
prompt = tokenizer.apply_chat_template(message, tokenize=False, add_generation_prompt=True)

result = llm.generate(prompt, params)
print(result[0].outputs[0].text)

The output should be something like the following:

First find the total number of eggs Janet has each day: $16$ eggs/day
Then subtract the number of eggs she eats for breakfast: $16-3=13$ eggs/day
Then subtract the number of eggs she bakes for her friends: $13-4=9$ eggs/day
Then multiply the number of eggs she sells by the price per egg to find her daily earnings: $9\cdot2=\boxed{18}$ dollars/day

ALFWorld

This part requires ALFWorld to be installed.

First start an vllm server

python -m vllm.entrypoints.openai.api_server --model [PATH_TO_YOUR_MODEL]

Then run evaluation with

cd example/scripts
python ../scratch/run_alfworld_async.py --model [PATH_TO_YOUR_MODEL] --save_dir [SAVE_GENERATED_TRAJS]

You can use --split eval_in_distribution for seen environments.

Reference

@inproceedings{Wang2024OfflineRL,
  title={Offline Reinforcement Learning for LLM Multi-Step Reasoning},
  author={Huaijie Wang and Shibo Hao and Hanze Dong and Shenao Zhang and Yilin Bao and Ziran Yang and Yi Wu},
  year={2024},
  url={https://api.semanticscholar.org/CorpusID:274965107}
}

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

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

GPU в ailist

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

Нельзя запустить

У модели не указана задача.

Класс архитектуры
LLMForSequenceRegression
Ревизия весов
e2f3276

0 моделей