HKUDS/DeepInnovator

"DeepInnovator: AI Research Assistant - Idea Spark & Scientific Discovery"

Python

288

3 commits

updated Mar 6, 2026

See the code

README

DeepInnovator: AI Research Assistant - Idea Spark & Scientific Discovery

| πŸ’‘ Generate Research Ideas and Hypotheses | πŸ”— Discovers Cross-Disciplinary Connections |
| πŸ” Research Gap & Trend Analysis | πŸ› οΈ AI-Powered Scientific Problem Solving |

Hugging Face Dataset Model Paper Feishu WeChat

πŸ”¬ DeepInnovator is an AI research copilot powered by our built scientific foundation model trained specifically.

πŸ’‘ DeepInnovator transforms how researchers discover and develop breakthrough ideas for research discovery.


🧠 DeepInnovator's Key Features

1. πŸ’‘ AI Research Idea Generator

  • Autonomously generates innovative research ideas and directions.
  • Identifies unexplored opportunities and knowledge gaps in scientific fields.

2. πŸ”— Cross-Disciplinary Innovation Engine

  • Discovers interdisciplinary research connections and fusion opportunities.
  • Synthesizes breakthrough concepts from multiple scientific domains.

3. ❓ Scientific Hypothesis & Question Formation

  • Automatically constructs scientifically valuable research questions.
  • Generates testable scientific hypotheses and predicts experimental designs.

4. πŸ“Š Research Gap & Trend Analysis

  • Intelligently identifies gaps and limitations in current research.
  • Predicts development trends and emerging hotspots in scientific fields.

5. βš™οΈ Innovation Methodology Framework

  • "Standing on shoulders of giants": Extracts innovative insights from vast literature.
  • "Conjectures and refutations": Iterative idea generation and optimization.

6. 🎯 Creative Problem-Solving Assistant

  • Provides multi-angle solutions for complex scientific problems.
  • Inspires researchers' innovative thinking and guides strategic resource allocation.

πŸš€ DeepInnovator's Performance

Strong Baseline Improvement:

β€’ DeepInnovator-14B significantly outperforms Qwen-14B-Instruct across all evaluation dimensions.

β€’ It achieves impressive win rates of 80.53%-93.81% against the base model in automated evaluations.

Competitive with top-tier LLMs (GPT-4o and Gemini-2.5-pro)

β€’ Despite smaller parameter size, DeepInnovator matches performance of GPT-4o and Gemini-2.5-pro.

β€’ DeepInnovator even surpasses GPT-4o in well-justified rationale evaluation, scoring 82.3% vs 77.9%

Excellent cross-domain generalization:

β€’ The model shows strong zero-shot transfer capabilities to completely unseen research domains.

β€’ It generates high-quality research ideas in law, education, and biotechnology despite being trained on STEM.

DomainMetricMuch BetterBetterWorseMuch WorseBoth BadAvg. Winrate (vs Qwen-14B-IT / vs GPT-4o)
LawNovelty0 / 09 / 73 / 61 / 00 / 069.2% / 53.8%
Feasibility1 / 05 / 43 / 71 / 13 / 160.0% / 33.3%
Effectiveness2 / 15 / 42 / 31 / 33 / 270.0% / 45.5%
Detailedness7 / 13 / 42 / 51 / 00 / 376.9% / 50.0%
EducationNovelty3 / 09 / 92 / 51 / 10 / 080.0% / 60.0%
Feasibility3 / 05 / 05 / 71 / 31 / 557.1% / 0.0%
Effectiveness2 / 06 / 04 / 53 / 40 / 653.3% / 0.0%
Detailedness1 / 08 / 43 / 50 / 23 / 475.0% / 36.4%
BiotechNovelty3 / 28 / 61 / 50 / 02 / 291.7% / 61.5%
Feasibility2 / 06 / 50 / 30 / 56 / 2100.0% / 38.5%
Effectiveness1 / 26 / 54 / 21 / 42 / 258.3% / 53.8%
Detailedness6 / 34 / 21 / 40 / 53 / 190.9% / 35.7%

β€’ DeepInnovator-14B achieves 100% win rate in Biotech Feasibility against Qwen2.5-14B-IT

β€’ Demonstrates 91.7% win rate in Biotech Novelty versus the baseline model

β€’ Secures 90.9% win rate in Biotech Detailedness compared to Qwen2.5-14B-IT

β€’ Maintains 61.5% win rate in Biotech Novelty when benchmarked against GPT-4o

β€’ Shows 60.0% win rate in Education Novelty against the advanced GPT-4o model


πŸ—οΈ DeepInnovator's Architecture

DeepInnovator Model Architecture

β€’ Intelligent Knowledge Synthesis Pipeline:

  • Transforms dense literature into structured cognitive primitives (Insight, Research Trending, Serendipity).
  • Mimics human scientific reasoning through hierarchical abstraction and relationship modeling.
  • Maintains computational efficiency while preserving semantic completeness.

β€’ Next Idea Prediction Training Paradigm:

  • Introduces an iterative refinement framework that models research idea generation as a sequential process.
  • Enables continuous predicting, evaluating, and improving of ideas through systematic cycles.
  • Mimics the "conjectures and refutations" methodology of authentic scientific discovery.

β€’ Decoupled Reward-Comment RL Architecture:

  • First to separate guidance from scoring in scientific domains, solving key RL challenges for creative tasks.
  • Prevents reward hacking through independent feedback streams, unlike single-reward RL systems.
  • Ensures optimization for genuine idea quality rather than reward model exploitation.

Project Structure

DeepInnovator/
β”œβ”€β”€ recipe/
β”‚   └── DeepInnovator/
β”‚       β”œβ”€β”€ data_preparation/      # Data preparation pipeline
β”‚       β”‚   β”œβ”€β”€ config/           # Agent and model configurations
β”‚       β”‚   β”œβ”€β”€ data_prepare/     # Pipeline scripts
β”‚       β”‚   β”œβ”€β”€ run.sh           # Quick run script
β”‚       β”‚   └── README.md        # Data preparation documentation
β”‚       β”œβ”€β”€ config/               # Training configurations
β”‚       β”‚   β”œβ”€β”€ agent.yaml       # Agent loop configuration
β”‚       β”‚   β”œβ”€β”€ reward_config.yaml  # Reward function configuration
β”‚       β”‚   └── ResearchGAN_interaction_config.yaml  # Interaction configuration
β”‚       β”œβ”€β”€ metrics/              # Reward metrics
β”‚       β”‚   β”œβ”€β”€ basic_reward.py
β”‚       β”‚   β”œβ”€β”€ delta_reward.py
β”‚       β”‚   └── token_amount.py
β”‚       β”œβ”€β”€ preprocess.py        # Dataset preprocessing script
β”‚       β”œβ”€β”€ preprocess.sh        # Preprocessing script runner
β”‚       β”œβ”€β”€ reward_function.py   # Main reward function
β”‚       β”œβ”€β”€ DeepInnovator_interation.py  # Interaction logic
β”‚       β”œβ”€β”€ DeepInnovator_agent_loop.py  # Agent loop implementation
β”‚       β”œβ”€β”€ train_rl.sh          # Training script
β”‚       └── utils.py             # Utility functions
└── verl/                        # VERL framework (for RL training)

Prerequisites

  • Python 3.8+
  • CUDA-capable GPU (for training)
  • VERL framework (for RL training)
  • Required Python packages (see installation section)

Environment Setup

1. Install Dependencies

# Core dependencies
pip install openai omegaconf python-dotenv feedparser requests PyPDF2 tqdm python-dateutil
pip install datasets numpy torch transformers

2. Configure Environment Variables

Create a .env file in the project root:

# API Configuration for data preparation
OPENAI_API_BASE=your_api_base_url
OPENAI_API_KEY=your_api_key

# For training (if needed)
WANDB_API_KEY=your_wandb_api_key
WANDB_BASE_URL=your_wandb_base_url

3. Configure Model Settings

Edit recipe/DeepInnovator/data_preparation/config/models/providers.yaml to set your API endpoints:

openai:
  base_url: ${env:OPENAI_API_BASE}
  api_key: ${env:OPENAI_API_KEY}

Data Preparation

The data preparation pipeline processes academic papers through multiple stages to generate training data.

Quick Start

Run the complete pipeline:

cd recipe/DeepInnovator/data_preparation
bash run.sh [total_papers] [datapath]

Example:

cd recipe/DeepInnovator/data_preparation
bash run.sh 100 ./data/arxiv_data

Step-by-Step Process

Step 1: Download Papers

Download papers from arXiv across predefined categories (cs, stat, q-fin, math):

cd recipe/DeepInnovator/data_preparation
python data_prepare/pull_papers.py --total_papers 100 --datapath ./data/arxiv_data

Parameters:

  • --total_papers: Total number of papers to download
  • --datapath: Data save path

Output: Papers saved to {datapath}/raw_paper/ directory

Step 2: Extract Target Paper Ideas

Extract ideas from target papers:

cd recipe/DeepInnovator/data_preparation
python data_prepare/get_target_paper_idea.py --datapath ./data/arxiv_data

Output: {datapath}/{paper_id}/target_paper/raw_paper/paper_idea.json

Step 3: Generate Training Data

Process papers through the full pipeline (step1-step4) to generate training data:

cd recipe/DeepInnovator/data_preparation
python data_prepare/get_training_data.py

Output Structure:

  • layer0/: Paper analysis results
  • layer1/: Paper groups and memories
  • layer2/: Connections, serendipity, and trends
  • insights/: Generated research ideas

Data Preprocessing

After generating training data, preprocess it for RL training:

cd recipe/DeepInnovator
python preprocess.py \
    --input_dir ./data/arxiv_data \
    --output_dir ./data/train \
    --task_desc "refine a research idea" \
    --validation_size 0.1 \
    --seed 42 \
    --num_proc 1 \
    --dataset_type "rl" \
    --test False \
    --layer0 False \
    --layer1 False \
    --layer2 True

Parameters:

  • --input_dir: Input directory containing processed papers
  • --output_dir: Output directory for preprocessed data
  • --task_desc: Task description for the dataset
  • --validation_size: Validation split ratio (default: 0.1)
  • --seed: Random seed (default: 42)
  • --num_proc: Number of parallel workers (default: 1)
  • --dataset_type: Dataset type - "rl" or "sft" (default: "rl")
  • --test: Test mode - sample fixed number of examples (default: True)
  • --layer0/1/2: Include layer data in prompts (default: False)

Output:

  • rl_train.parquet: Training dataset
  • rl_validation.parquet: Validation dataset

Or use the convenience script:

cd recipe/DeepInnovator
bash preprocess.sh

Training

Configuration

Before training, configure the following files:

  1. recipe/DeepInnovator/config/reward_config.yaml: Configure reward function parameters

    config:
      metric_weights:
        delta_reward: 5
        token_amount: 0.1
      default_reward_kwargs:
        model: "your model"
        api_key: "your api key"
        api_base: "your api base"
    
  2. recipe/DeepInnovator/config/ResearchGAN_interaction_config.yaml: Configure interaction settings

    interaction:
      - name: "DeepInnovator"
        discriminator_kwargs:
          discriminator_model: "your model"
          api_key: "your api key"
          api_base: "your api base"
    
  3. recipe/DeepInnovator/train_rl.sh: Update training parameters

    • MODEL_DIR: Path to base model
    • DATASET_DIR: Path to preprocessed dataset
    • WANDB_PROJECT_NAME: Weights & Biases project name
    • WANDB_EXPERIMENT_NAME: Experiment name
    • GPU settings, batch sizes, etc.

Start Training

cd recipe/DeepInnovator
bash train_rl.sh [resume_path]

Parameters:

  • resume_path (optional): Path to checkpoint to resume from

Training Configuration:

  • Base model: Qwen2.5-14B-IT
  • Algorithm: GRPO (Group Relative Policy Optimization)
  • Multi-turn interaction: Up to 5 user turns, 6 assistant turns
  • Reward: Combination of delta_reward and token_amount metrics
  • Training epochs: 3
  • Batch size: 16 (train), 4 (PPO mini-batch)

Training Process

The training process involves:

  1. Agent Loop: Generates research ideas iteratively
  2. Discriminator: Evaluates idea authenticity (real vs fictional)
  3. Reward Computation: Calculates rewards based on:
    • Delta reward: Improvement over iterations
    • Token amount: Length-based reward
  4. Policy Update: Updates agent policy using PPO algorithm

Key Components

Reward Function (recipe/DeepInnovator/reward_function.py)

Computes conversation-level rewards by combining multiple metrics:

  • delta_reward: Measures improvement between iterations
  • token_amount: Length-based reward
  • Configurable weights via reward_config.yaml

Interaction (recipe/DeepInnovator/DeepInnovator_interation.py)

Implements the interaction logic:

  • Extracts ideas from agent responses
  • Uses discriminator to evaluate authenticity
  • Manages multi-turn conversations
  • Handles termination conditions

Agent Loop (recipe/DeepInnovator/DeepInnovator_agent_loop.py)

Manages the agent's decision-making process:

  • Processes user prompts
  • Generates responses
  • Handles multi-turn interactions
  • Manages agent state

Output Structure

After data preparation:

data/
└── {paper_id}/
    β”œβ”€β”€ target_paper/          # Target paper and references
    β”‚   └── raw_paper/
    β”‚       β”œβ”€β”€ paper_md/      # Markdown files
    β”‚       └── paper_idea.json  # Extracted ideas
    β”œβ”€β”€ raw_paper/             # Raw downloaded papers
    β”œβ”€β”€ layer0/                # Paper analysis
    β”‚   └── paper_memory/      # Structured paper data
    β”œβ”€β”€ layer1/                # Paper grouping
    β”‚   β”œβ”€β”€ inner_paper_memory.json
    β”‚   └── inter_paper_group.json
    β”œβ”€β”€ layer2/                # Connections and insights
    β”‚   β”œβ”€β”€ connections.json
    β”‚   β”œβ”€β”€ serendipity.json
    β”‚   └── research_trending.json
    └── insights/              # Generated ideas
        └── idea_spark.json

After preprocessing:

data/train/
β”œβ”€β”€ rl_train.parquet          # Training dataset
└── rl_validation.parquet      # Validation dataset

License

This project is licensed under the MIT License - see the LICENSE file for details.

🌟Citation

@article{fan2026deepinnovator,
  title={DeepInnovator: Triggering the Innovative Capabilities of LLMs},
  author={Fan, Tianyu and Zhang, Fengji and Zheng, Yuxiang and Chen, Bei and Niu, Xinyao and Huang, Chengen and Lin, Junyang and Huang, Chao},
  journal={arXiv preprint arXiv:2602.18920},
  year={2026}
}

If you find DeepInnovator helpful, please consider giving us a star! ⭐

Thanks for visiting ✨ DeepInnovator!

Views

Significant stargazers

Haozhe Wu

367 followers Β· starred Mar 2026

Xubin Ren

603 followers Β· starred Mar 2026

HKUDS/DeepInnovator

"DeepInnovator: AI Research Assistant - Idea Spark & Scientific Discovery"

Python

288

3 commits

updated Mar 6, 2026

See the code

README

DeepInnovator: AI Research Assistant - Idea Spark & Scientific Discovery

| πŸ’‘ Generate Research Ideas and Hypotheses | πŸ”— Discovers Cross-Disciplinary Connections |
| πŸ” Research Gap & Trend Analysis | πŸ› οΈ AI-Powered Scientific Problem Solving |

Hugging Face Dataset Model Paper Feishu WeChat

πŸ”¬ DeepInnovator is an AI research copilot powered by our built scientific foundation model trained specifically.

πŸ’‘ DeepInnovator transforms how researchers discover and develop breakthrough ideas for research discovery.


🧠 DeepInnovator's Key Features

1. πŸ’‘ AI Research Idea Generator

  • Autonomously generates innovative research ideas and directions.
  • Identifies unexplored opportunities and knowledge gaps in scientific fields.

2. πŸ”— Cross-Disciplinary Innovation Engine

  • Discovers interdisciplinary research connections and fusion opportunities.
  • Synthesizes breakthrough concepts from multiple scientific domains.

3. ❓ Scientific Hypothesis & Question Formation

  • Automatically constructs scientifically valuable research questions.
  • Generates testable scientific hypotheses and predicts experimental designs.

4. πŸ“Š Research Gap & Trend Analysis

  • Intelligently identifies gaps and limitations in current research.
  • Predicts development trends and emerging hotspots in scientific fields.

5. βš™οΈ Innovation Methodology Framework

  • "Standing on shoulders of giants": Extracts innovative insights from vast literature.
  • "Conjectures and refutations": Iterative idea generation and optimization.

6. 🎯 Creative Problem-Solving Assistant

  • Provides multi-angle solutions for complex scientific problems.
  • Inspires researchers' innovative thinking and guides strategic resource allocation.

πŸš€ DeepInnovator's Performance

Strong Baseline Improvement:

β€’ DeepInnovator-14B significantly outperforms Qwen-14B-Instruct across all evaluation dimensions.

β€’ It achieves impressive win rates of 80.53%-93.81% against the base model in automated evaluations.

Competitive with top-tier LLMs (GPT-4o and Gemini-2.5-pro)

β€’ Despite smaller parameter size, DeepInnovator matches performance of GPT-4o and Gemini-2.5-pro.

β€’ DeepInnovator even surpasses GPT-4o in well-justified rationale evaluation, scoring 82.3% vs 77.9%

Excellent cross-domain generalization:

β€’ The model shows strong zero-shot transfer capabilities to completely unseen research domains.

β€’ It generates high-quality research ideas in law, education, and biotechnology despite being trained on STEM.

DomainMetricMuch BetterBetterWorseMuch WorseBoth BadAvg. Winrate (vs Qwen-14B-IT / vs GPT-4o)
LawNovelty0 / 09 / 73 / 61 / 00 / 069.2% / 53.8%
Feasibility1 / 05 / 43 / 71 / 13 / 160.0% / 33.3%
Effectiveness2 / 15 / 42 / 31 / 33 / 270.0% / 45.5%
Detailedness7 / 13 / 42 / 51 / 00 / 376.9% / 50.0%
EducationNovelty3 / 09 / 92 / 51 / 10 / 080.0% / 60.0%
Feasibility3 / 05 / 05 / 71 / 31 / 557.1% / 0.0%
Effectiveness2 / 06 / 04 / 53 / 40 / 653.3% / 0.0%
Detailedness1 / 08 / 43 / 50 / 23 / 475.0% / 36.4%
BiotechNovelty3 / 28 / 61 / 50 / 02 / 291.7% / 61.5%
Feasibility2 / 06 / 50 / 30 / 56 / 2100.0% / 38.5%
Effectiveness1 / 26 / 54 / 21 / 42 / 258.3% / 53.8%
Detailedness6 / 34 / 21 / 40 / 53 / 190.9% / 35.7%

β€’ DeepInnovator-14B achieves 100% win rate in Biotech Feasibility against Qwen2.5-14B-IT

β€’ Demonstrates 91.7% win rate in Biotech Novelty versus the baseline model

β€’ Secures 90.9% win rate in Biotech Detailedness compared to Qwen2.5-14B-IT

β€’ Maintains 61.5% win rate in Biotech Novelty when benchmarked against GPT-4o

β€’ Shows 60.0% win rate in Education Novelty against the advanced GPT-4o model


πŸ—οΈ DeepInnovator's Architecture

DeepInnovator Model Architecture

β€’ Intelligent Knowledge Synthesis Pipeline:

  • Transforms dense literature into structured cognitive primitives (Insight, Research Trending, Serendipity).
  • Mimics human scientific reasoning through hierarchical abstraction and relationship modeling.
  • Maintains computational efficiency while preserving semantic completeness.

β€’ Next Idea Prediction Training Paradigm:

  • Introduces an iterative refinement framework that models research idea generation as a sequential process.
  • Enables continuous predicting, evaluating, and improving of ideas through systematic cycles.
  • Mimics the "conjectures and refutations" methodology of authentic scientific discovery.

β€’ Decoupled Reward-Comment RL Architecture:

  • First to separate guidance from scoring in scientific domains, solving key RL challenges for creative tasks.
  • Prevents reward hacking through independent feedback streams, unlike single-reward RL systems.
  • Ensures optimization for genuine idea quality rather than reward model exploitation.

Project Structure

DeepInnovator/
β”œβ”€β”€ recipe/
β”‚   └── DeepInnovator/
β”‚       β”œβ”€β”€ data_preparation/      # Data preparation pipeline
β”‚       β”‚   β”œβ”€β”€ config/           # Agent and model configurations
β”‚       β”‚   β”œβ”€β”€ data_prepare/     # Pipeline scripts
β”‚       β”‚   β”œβ”€β”€ run.sh           # Quick run script
β”‚       β”‚   └── README.md        # Data preparation documentation
β”‚       β”œβ”€β”€ config/               # Training configurations
β”‚       β”‚   β”œβ”€β”€ agent.yaml       # Agent loop configuration
β”‚       β”‚   β”œβ”€β”€ reward_config.yaml  # Reward function configuration
β”‚       β”‚   └── ResearchGAN_interaction_config.yaml  # Interaction configuration
β”‚       β”œβ”€β”€ metrics/              # Reward metrics
β”‚       β”‚   β”œβ”€β”€ basic_reward.py
β”‚       β”‚   β”œβ”€β”€ delta_reward.py
β”‚       β”‚   └── token_amount.py
β”‚       β”œβ”€β”€ preprocess.py        # Dataset preprocessing script
β”‚       β”œβ”€β”€ preprocess.sh        # Preprocessing script runner
β”‚       β”œβ”€β”€ reward_function.py   # Main reward function
β”‚       β”œβ”€β”€ DeepInnovator_interation.py  # Interaction logic
β”‚       β”œβ”€β”€ DeepInnovator_agent_loop.py  # Agent loop implementation
β”‚       β”œβ”€β”€ train_rl.sh          # Training script
β”‚       └── utils.py             # Utility functions
└── verl/                        # VERL framework (for RL training)

Prerequisites

  • Python 3.8+
  • CUDA-capable GPU (for training)
  • VERL framework (for RL training)
  • Required Python packages (see installation section)

Environment Setup

1. Install Dependencies

# Core dependencies
pip install openai omegaconf python-dotenv feedparser requests PyPDF2 tqdm python-dateutil
pip install datasets numpy torch transformers

2. Configure Environment Variables

Create a .env file in the project root:

# API Configuration for data preparation
OPENAI_API_BASE=your_api_base_url
OPENAI_API_KEY=your_api_key

# For training (if needed)
WANDB_API_KEY=your_wandb_api_key
WANDB_BASE_URL=your_wandb_base_url

3. Configure Model Settings

Edit recipe/DeepInnovator/data_preparation/config/models/providers.yaml to set your API endpoints:

openai:
  base_url: ${env:OPENAI_API_BASE}
  api_key: ${env:OPENAI_API_KEY}

Data Preparation

The data preparation pipeline processes academic papers through multiple stages to generate training data.

Quick Start

Run the complete pipeline:

cd recipe/DeepInnovator/data_preparation
bash run.sh [total_papers] [datapath]

Example:

cd recipe/DeepInnovator/data_preparation
bash run.sh 100 ./data/arxiv_data

Step-by-Step Process

Step 1: Download Papers

Download papers from arXiv across predefined categories (cs, stat, q-fin, math):

cd recipe/DeepInnovator/data_preparation
python data_prepare/pull_papers.py --total_papers 100 --datapath ./data/arxiv_data

Parameters:

  • --total_papers: Total number of papers to download
  • --datapath: Data save path

Output: Papers saved to {datapath}/raw_paper/ directory

Step 2: Extract Target Paper Ideas

Extract ideas from target papers:

cd recipe/DeepInnovator/data_preparation
python data_prepare/get_target_paper_idea.py --datapath ./data/arxiv_data

Output: {datapath}/{paper_id}/target_paper/raw_paper/paper_idea.json

Step 3: Generate Training Data

Process papers through the full pipeline (step1-step4) to generate training data:

cd recipe/DeepInnovator/data_preparation
python data_prepare/get_training_data.py

Output Structure:

  • layer0/: Paper analysis results
  • layer1/: Paper groups and memories
  • layer2/: Connections, serendipity, and trends
  • insights/: Generated research ideas

Data Preprocessing

After generating training data, preprocess it for RL training:

cd recipe/DeepInnovator
python preprocess.py \
    --input_dir ./data/arxiv_data \
    --output_dir ./data/train \
    --task_desc "refine a research idea" \
    --validation_size 0.1 \
    --seed 42 \
    --num_proc 1 \
    --dataset_type "rl" \
    --test False \
    --layer0 False \
    --layer1 False \
    --layer2 True

Parameters:

  • --input_dir: Input directory containing processed papers
  • --output_dir: Output directory for preprocessed data
  • --task_desc: Task description for the dataset
  • --validation_size: Validation split ratio (default: 0.1)
  • --seed: Random seed (default: 42)
  • --num_proc: Number of parallel workers (default: 1)
  • --dataset_type: Dataset type - "rl" or "sft" (default: "rl")
  • --test: Test mode - sample fixed number of examples (default: True)
  • --layer0/1/2: Include layer data in prompts (default: False)

Output:

  • rl_train.parquet: Training dataset
  • rl_validation.parquet: Validation dataset

Or use the convenience script:

cd recipe/DeepInnovator
bash preprocess.sh

Training

Configuration

Before training, configure the following files:

  1. recipe/DeepInnovator/config/reward_config.yaml: Configure reward function parameters

    config:
      metric_weights:
        delta_reward: 5
        token_amount: 0.1
      default_reward_kwargs:
        model: "your model"
        api_key: "your api key"
        api_base: "your api base"
    
  2. recipe/DeepInnovator/config/ResearchGAN_interaction_config.yaml: Configure interaction settings

    interaction:
      - name: "DeepInnovator"
        discriminator_kwargs:
          discriminator_model: "your model"
          api_key: "your api key"
          api_base: "your api base"
    
  3. recipe/DeepInnovator/train_rl.sh: Update training parameters

    • MODEL_DIR: Path to base model
    • DATASET_DIR: Path to preprocessed dataset
    • WANDB_PROJECT_NAME: Weights & Biases project name
    • WANDB_EXPERIMENT_NAME: Experiment name
    • GPU settings, batch sizes, etc.

Start Training

cd recipe/DeepInnovator
bash train_rl.sh [resume_path]

Parameters:

  • resume_path (optional): Path to checkpoint to resume from

Training Configuration:

  • Base model: Qwen2.5-14B-IT
  • Algorithm: GRPO (Group Relative Policy Optimization)
  • Multi-turn interaction: Up to 5 user turns, 6 assistant turns
  • Reward: Combination of delta_reward and token_amount metrics
  • Training epochs: 3
  • Batch size: 16 (train), 4 (PPO mini-batch)

Training Process

The training process involves:

  1. Agent Loop: Generates research ideas iteratively
  2. Discriminator: Evaluates idea authenticity (real vs fictional)
  3. Reward Computation: Calculates rewards based on:
    • Delta reward: Improvement over iterations
    • Token amount: Length-based reward
  4. Policy Update: Updates agent policy using PPO algorithm

Key Components

Reward Function (recipe/DeepInnovator/reward_function.py)

Computes conversation-level rewards by combining multiple metrics:

  • delta_reward: Measures improvement between iterations
  • token_amount: Length-based reward
  • Configurable weights via reward_config.yaml

Interaction (recipe/DeepInnovator/DeepInnovator_interation.py)

Implements the interaction logic:

  • Extracts ideas from agent responses
  • Uses discriminator to evaluate authenticity
  • Manages multi-turn conversations
  • Handles termination conditions

Agent Loop (recipe/DeepInnovator/DeepInnovator_agent_loop.py)

Manages the agent's decision-making process:

  • Processes user prompts
  • Generates responses
  • Handles multi-turn interactions
  • Manages agent state

Output Structure

After data preparation:

data/
└── {paper_id}/
    β”œβ”€β”€ target_paper/          # Target paper and references
    β”‚   └── raw_paper/
    β”‚       β”œβ”€β”€ paper_md/      # Markdown files
    β”‚       └── paper_idea.json  # Extracted ideas
    β”œβ”€β”€ raw_paper/             # Raw downloaded papers
    β”œβ”€β”€ layer0/                # Paper analysis
    β”‚   └── paper_memory/      # Structured paper data
    β”œβ”€β”€ layer1/                # Paper grouping
    β”‚   β”œβ”€β”€ inner_paper_memory.json
    β”‚   └── inter_paper_group.json
    β”œβ”€β”€ layer2/                # Connections and insights
    β”‚   β”œβ”€β”€ connections.json
    β”‚   β”œβ”€β”€ serendipity.json
    β”‚   └── research_trending.json
    └── insights/              # Generated ideas
        └── idea_spark.json

After preprocessing:

data/train/
β”œβ”€β”€ rl_train.parquet          # Training dataset
└── rl_validation.parquet      # Validation dataset

License

This project is licensed under the MIT License - see the LICENSE file for details.

🌟Citation

@article{fan2026deepinnovator,
  title={DeepInnovator: Triggering the Innovative Capabilities of LLMs},
  author={Fan, Tianyu and Zhang, Fengji and Zheng, Yuxiang and Chen, Bei and Niu, Xinyao and Huang, Chengen and Lin, Junyang and Huang, Chao},
  journal={arXiv preprint arXiv:2602.18920},
  year={2026}
}

If you find DeepInnovator helpful, please consider giving us a star! ⭐

Thanks for visiting ✨ DeepInnovator!

Views

Significant stargazers

Haozhe Wu

367 followers Β· starred Mar 2026

Xubin Ren

603 followers Β· starred Mar 2026

Languages

Python

96.2%

Shell

3.8%