Technology sharing

Exemplum sui instrue construendi Promptus

2024-07-08

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

  1. Batch artificiose fabricare ut semina suggerit. (Satus cum parvo semine munerum humano-scriptorum)
  2. Singulis diebus, nonnulla Prompta a semine in Input generata, ut pauca exempla emissa reddas, et LLM ad plura Prompta generanda (LLM adhibens ad novas instructiones in operibus seminis generandas)
  3. Filter ones cum vilitate et correctione necessariae sunt;
  4. Omnia generata Promptus in LLM ingrediuntur ut eventus outputus efficiantur (input-outputa crea instantiae novae instructionis)
  5. Input Output, faciens exempla disciplinae pro LLM (Gloriatum dataset utendo ad LLM bene modulando)

Gradus II, LLM generat;

import random
from transformers import AutoTokenizer, AutoModelForCausalLM

# Load a pre-trained language model
model_name = "bigcode/starcoderbase-1b"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)

# Seed tasks (simplified for demonstration)
seed_tasks = [
    "Write a function to calculate the factorial of a number.",
    "Create a class to represent a bank account.",
    "Implement a binary search algorithm."
]

def generate_instruction(prompt):
    inputs = tokenizer(prompt, return_tensors="pt")
    outputs = model.generate(**inputs, max_new_tokens=50)
    return tokenizer.decode(outputs[0], skip_special_tokens=True)

def self_instruct(num_iterations):
    generated_tasks = []
    
    for _ in range(num_iterations):
        # Sample existing tasks
        sampled_tasks = random.sample(seed_tasks   generated_tasks, min(3, len(seed_tasks)   len(generated_tasks)))
        
        # Create a prompt for generating new instructions
        prompt = "Generate a new programming task based on these examples:nn"
        prompt  = "n".join(sampled_tasks)
        prompt  = "nnNew task:"
        
        # Generate a new instruction
        new_task = generate_instruction(prompt)
        
        # In practice, you would filter and refine the generated task here
        
        generated_tasks.append(new_task)
    
    return generated_tasks

# Run Self-Instruct
new_tasks = self_instruct(5)
for i, task in enumerate(new_tasks, 1):
    print(f"Task {i}: {task}")

Gradus III Filter:

Manuale aliquas regulas definire et eas nimis malas spargere;

Propositum: ut qualitatem et diversitatem curet;

  • Eliquare instructiones quae sunt breviora vel nimis longa
  • Eliquare instructiones in quibus keywords parum idoneae sunt ad exempla linguarum (eg "imago", "graph", "lima", "insidias")
  • Eliquare instructiones incipiens interpunctione
  • Eliquare instructiones incipiens cum non-Anglis characteribus
  • Eliquare instructiones quae habent altitudinem ROUGE-L similitudinem (supra 0,7) cum omni exsistente instructione in munere piscinae