cahlen/cdg-trending_JasonIsaacs_WaltonGoggins_100
Jason Isaacs & Walton Goggins: The absurdity of awards season and the pressure to perform - Generated by Conversation Dataset Generator This dataset was generated using the Conversation Dataset Generator script available at https://cahlen.github.io/conversation-dataset-generator/. Generation Parameters Number of Conversations Requested: 100 Number of Conversations Successfully Generated: 100 Total Turns: 1078 Model ID: meta-llama/Meta-Llama-3-8B-Instruct… See the full description on the dataset page: https://huggingface.co/datasets/cahlen/cdg-trending_JasonIsaacs_WaltonGoggins_100.
Jason Isaacs & Walton Goggins: The absurdity of awards season and the pressure to perform - Generated by Conversation Dataset Generator
This dataset was generated using the Conversation Dataset Generator script available at https://cahlen.github.io/conversation-dataset-generator/.
Generation Parameters
- Number of Conversations Requested: 100
- Number of Conversations Successfully Generated: 100
- Total Turns: 1078
- Model ID:
meta-llama/Meta-Llama-3-8B-Instruct - Generation Mode: Mode: Creative Brief (
--creative-brief "A discussion between Jason Isaacs and Walton Goggins about the trending on-set tensions and feud rumors during the filming of 'White Lotus'.") - Persona 1 Search Term:
Jason Isaacs White Lotus arguments on set - Persona 2 Search Term:
Walton Goggins feud rumors White Lotus - Note: Personas were generated once from the brief. Topic/Scenario/Style were varied for each example based on this brief. Parameters below reflect the last successful example.
- Topic:
The absurdity of awards season and the pressure to perform - Scenario:
At a private industry event, surrounded by industry insiders and pretentious types - Style:
Witty repartee, sarcastic asides, and a hint of exasperation - Included Points:
feud, rumors, tension, set life, co-stars, professionalism, honesty, humor
Personas
Jason Isaacs Description:
A seasoned actor known for his intense roles, Jason has a sharp tongue and a quick wit. He's often sarcastic, with a hint of British wit, and isn't afraid to speak his mind. He tends to interrupt when excited, and his words are laced with a dry, observational humor. He's a bit of a perfectionist, which can lead to frustration when things don't go according to plan. -> maps to role: human
Walton Goggins
Description: A southern charmer with a laid-back demeanor, Walton is a chameleon on screen. He's got a smooth, honey-toned voice and a charming smile. He's a bit of a jokester, often cracking wise and making light of situations. He's also fiercely loyal to his co-stars and will fiercely defend them when necessary. His drawling drawl can be soothing, but also has a tendency to make his words seem a bit too smooth. -> maps to role: gpt
Usage
To use this dataset:
1. Clone the repository:
git lfs install
git clone https://huggingface.co/datasets/cahlen/cdg-trending_JasonIsaacs_WaltonGoggins_1002. Load in Python:
from datasets import load_dataset
dataset = load_dataset("cahlen/cdg-trending_JasonIsaacs_WaltonGoggins_100")
# Access the data (e.g., the training split)
print(dataset['train'][0])LoRA Training Example (Basic)
Below is a basic example of how you might use this dataset to fine-tune a small model like google/gemma-2b-it using LoRA with the PEFT and TRL libraries.
Note: This requires installing additional libraries: pip install -U transformers datasets accelerate peft trl bitsandbytes torch
import torch
from datasets import load_dataset
from peft import LoraConfig, get_peft_model, prepare_model_for_kbit_training
from transformers import AutoModelForCausalLM, AutoTokenizer, TrainingArguments, BitsAndBytesConfig
from trl import SFTTrainer
# 1. Load the dataset
dataset_id = "cahlen/cdg-trending_JasonIsaacs_WaltonGoggins_100"
dataset = load_dataset(dataset_id)
# 2. Load Base Model & Tokenizer (using a small model like Gemma 2B)
model_id = "google/gemma-2b-it"
# Quantization Config (optional, for efficiency)
quantization_config = BitsAndBytesConfig(
load_in_4bit=True,
bnb_4bit_quant_type="nf4",
bnb_4bit_compute_dtype=torch.bfloat16 # or torch.float16
)
# Tokenizer
tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True)
# Set padding token if necessary (Gemma's is <pad>)
if tokenizer.pad_token is None:
tokenizer.pad_token = tokenizer.eos_token
tokenizer.pad_token_id = tokenizer.eos_token_id
# Model
model = AutoModelForCausalLM.from_pretrained(
model_id,
quantization_config=quantization_config,
device_map="auto", # Automatically place model shards
trust_remote_code=True
)
# Prepare model for k-bit training if using quantization
model = prepare_model_for_kbit_training(model)
# 3. LoRA Configuration
lora_config = LoraConfig(
r=8, # Rank
lora_alpha=16,
target_modules=["q_proj", "k_proj", "v_proj", "o_proj"], # Adjust based on model architecture
lora_dropout=0.05,
bias="none",
task_type="CAUSAL_LM"
)
model = get_peft_model(model, lora_config)
model.print_trainable_parameters()
# 4. Training Arguments (minimal example)
training_args = TrainingArguments(
output_dir="./lora-adapter-Jason Isaacs-Walton Goggins", # Choose a directory
per_device_train_batch_size=1,
gradient_accumulation_steps=4,
learning_rate=2e-4,
num_train_epochs=1, # Use 1 epoch for a quick demo
logging_steps=10,
save_steps=50, # Save adapter periodically
fp16=False, # Use bf16 if available, otherwise fp16
bf16=torch.cuda.is_bf16_supported(),
optim="paged_adamw_8bit", # Use paged optimizer for efficiency
report_to="none" # Disable wandb/tensorboard for simple example
)
# 5. Create SFTTrainer
trainer = SFTTrainer(
model=model,
train_dataset=dataset['train'], # Assumes 'train' split exists
peft_config=lora_config,
tokenizer=tokenizer,
args=training_args,
max_seq_length=512, # Adjust as needed
dataset_text_field="content", # Use content field directly
packing=True, # Pack sequences for efficiency
)
# 6. Train
print("Starting LoRA training...")
trainer.train()
### 7. Save the LoRA adapter
# Use a fixed string for the example output directory
trainer.save_model("./lora-adapter-output-directory")
print(f"LoRA adapter saved to ./lora-adapter-output-directory")Dataset Format (JSON Lines source)
Each row in the dataset contains the following keys:
- conversation_id: Unique identifier for the conversation
- turn_number: The sequential number of the turn within a conversation
- role: Either 'human' or 'gpt' indicating who is speaking
- speakername: The actual name of the speaker (e.g., '{finalpersona1}' or '{final_persona2}')
- topic: The conversation topic
- scenario: The scenario in which the conversation takes place
- style: The stylistic direction for the conversation
- include_points: Specific points to include in the conversation
- content: The actual text content of the turn
