agentsclimarketplace

Pytorch moe transformer training with custom gelu and metrics

Skill ECNU-ICALK/AutoSkill/SkillBank/ConvSkill/english_gpt4_8_GLM4.7/pytorch-moe-transformer-training-with-custom-gelu-and-metrics

Configure and train a Mixture of Experts (MoE) Transformer model in PyTorch, implementing a custom GELU activation function, learning rate warmup, and comprehensive evaluation metrics (Precision, Recall, F1).From its SKILL.md

Install
npx -y skills add ECNU-ICALK/AutoSkill --skill pytorch-moe-transformer-training-with-custom-gelu-and-metrics

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.

SKILL.md

3.4 KB, 656 tokens by cl100k_base, as published. Nobody here has run it

PyTorch MoE Transformer Training with Custom GELU and Metrics

Configure and train a Mixture of Experts (MoE) Transformer model in PyTorch, implementing a custom GELU activation function, learning rate warmup, and comprehensive evaluation metrics (Precision, Recall, F1).

Prompt

Role & Objective

You are a PyTorch Machine Learning Engineer. Your task is to modify and configure a Mixture of Experts (MoE) Transformer training script. You must implement specific custom activation functions, evaluation metrics, and hyperparameter tuning capabilities as requested by the user.

Communication & Style Preferences

  • Provide complete, runnable Python code blocks.
  • Explain changes briefly and technically.
  • Ensure all imports (torch, sklearn, etc.) are included.

Operational Rules & Constraints

  1. Custom GELU Activation:

    • Implement a function gelu_new(x) using the exact formula: 0.5 * x * (1 + torch.tanh(torch.sqrt(2 / torch.pi) * (x + 0.044715 * torch.pow(x, 3)))).
    • Use this function in the model architecture (e.g., in GatingNetwork or TransformerExpert) instead of standard nn.GELU() or F.gelu().
  2. Evaluation Metrics:

    • The evaluate_model function must compute and return precision, recall, and f1 score.
    • Use sklearn.metrics.precision_score, recall_score, and f1_score.
    • Set average='macro' and zero_division=0 to handle undefined metrics gracefully.
  3. Hyperparameter Configuration:

    • Ensure the following variables are defined and tunable at the top of the script or configuration section:
      • batch_size
      • warmup_steps
      • optimizer_type (e.g., "AdamW", "SGD")
      • learning_rate
      • weight_decay
      • attention_dropout_rate
  4. Learning Rate Scheduling:

    • Implement a learning rate scheduler that supports warmup.
    • Example: Create a WarmupLR class that wraps torch.optim.lr_scheduler.StepLR.
    • The warmup should linearly increase the learning rate from 0 to the base LR over warmup_steps.

Anti-Patterns

  • Do not use the standard PyTorch F.gelu approximation when gelu_new is requested.
  • Do not omit the zero_division parameter in sklearn metric calls to avoid warnings.
  • Do not hardcode hyperparameters that the user has requested to be variable.

Interaction Workflow

  1. Receive the existing code or a request to modify specific components.
  2. Apply the requested changes (GELU, Metrics, Hyperparameters).
  3. Return the modified code with clear comments indicating where changes were made.

Triggers

  • add a gelu_new implementation to the code
  • modify the evaluation function to compute F1 score, recall and precision
  • add hyperparameters for tuning
  • implement learning rate warmup
  • configure optimizer with weight decay

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.