Skip to content

finetune_embedding

Documentation for Fine-Tuning Embedding Models

Overview

This documentation encompasses three functions related to the fine-tuning of embedding models: _finetune_embedding_model_one_step, _finetune_embedding_model_one_step_hyperopt, and finetune_embedding_model.


1. _finetune_embedding_model_one_step

Functionality

This function performs a single fine-tuning step for an embeddings model. It loads a model from disk, applies parameter tuning, cleans up, and returns a quality metric.

Parameters

  • initial_model_path (str): Path to the initial model file.
  • settings (FineTuningSettings): Fine-tuning configuration.
  • ranking_data (RankingData): Ranking and clickstream data.
  • query_retriever (QueryRetriever): Retrieves query-related items.
  • fine_tuning_params (FineTuningParams): Tuning parameters.
  • tracker (ExperimentsManager): Tracks experiment details.

Usage

Purpose: Run a single fine-tuning step on an embeddings model.

Example

Assuming valid objects are provided:

quality = _finetune_embedding_model_one_step(
    "model.pt", settings, ranking_data, query_retriever,
    fine_tuning_params, tracker
)


2. _finetune_embedding_model_one_step_hyperopt

Functionality

This function fine-tunes an embedding model using hyperopt. It acts as a wrapper around a one-step fine-tuning process and handles exceptions by logging errors.

Parameters

  • initial_model_path (str): Local path of the pre-trained model.
  • settings (FineTuningSettings): Instance with tuning settings.
  • ranking_data (RankingData): Instance for ranking data.
  • query_retriever: Object to retrieve queries.
  • hyperopt_params (dict): Dictionary of hyperparameter values.
  • tracker (ExperimentsManager): Tracks tuning progress.

Usage

Purpose: Optimize an embedding model through a hyperopt search, with quality adjusted according to tracker configuration.

Example

quality = _finetune_embedding_model_one_step_hyperopt(
    "model/path", settings, ranking_data, query_retriever, 
    {"lr": 0.01, "dropout": 0.3}, tracker
)

3. finetune_embedding_model

Functionality

Starts an embedding fine-tuning iteration by downloading and preparing an embeddings model. It performs hyperparameter selection using a provided hyperopt strategy and manages the experiment run via a tracker. The function handles both initial and subsequent runs by applying tuned parameters when available.

Parameters

  • iteration: Information on the fine-tuning iteration.
  • settings: Settings that govern the fine-tuning process.
  • ranking_data: Data with clickstream and item details.
  • query_retriever: Object to retrieve items based on queries.
  • tracker: Manager for tracking experiment runs.
  • initial_params (dict): Dictionary mapping hyperparameter names to lists of candidate values.
  • initial_max_evals (int): Positive integer for maximum initial hyperparameter evaluations (default: 100).

Usage

Call this function to initiate a fine-tuning iteration. It downloads an initial model, saves it locally, and executes a hyperparameter search using provided or previously tuned parameters. It returns a quality measure indicating tuning performance.

Example

finetune_embedding_model(iteration, settings, ranking_data,
    query_retriever, tracker, initial_params,
    initial_max_evals=100)