Skip to content

Feature Request: Enable Initial Base Support for MLP Speculators #41

@markurtz

Description

@markurtz

Summary

Implement and finalize src/speculators/models/mlp.py to support MLP-based speculator models for speculative decoding algorithms utilizing combined token/embedding speculators.

Reference

Acceptance Criteria

Classes and Test Cases

  • Implement MLPSpeculatorConfig and MLPSpeculator following the example in src/speculators/models/eagle.py.
  • Ensure compatibility with SpeculatorModelConfig.from_pretrained and SpeculatorModel.from_pretrained.
  • Implement comprehensive test cases following the examples in:
    • tests/unit/models/test_eagle_config.py
    • tests/unit/models/test_eagle_model.py

MLPSpeculatorConfig

  • Include all relevant hyperparameters expected to change or be configured to construct a working MLP Speculator model as defined in the referenced paper.

MLPSpeculator

  • Correctly create the required MLP-based architecture from a given MLPSpeculatorConfig.
  • Enable loading and saving of weights.
  • Integrate seamlessly with the existing system.

TokenProposal Functionality

  • Implement any missing TokenProposal methods or functionality as defined in the paper, or expand current implementations as needed.

Out of Scope (Future Targets)

  • Implement a functioning forward pass for SpeculatorModel compatible with training flows.
  • Implement a functioning generate pass for SpeculatorModel compatible with generation flows.
  • Create an Algorithm factory to handle preconfigured hyperparameters for the desired supported algorithms.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions