Bird
Raised Fist0
Prompt Engineering / GenAIml~12 mins

Model selection (GPT-4, GPT-3.5) in Prompt Engineering / GenAI - Model Pipeline Trace

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Model Pipeline - Model selection (GPT-4, GPT-3.5)

This pipeline compares two language models, GPT-4 and GPT-3.5, to select the best one for a text generation task. It processes input prompts, runs them through both models, evaluates outputs, and chooses the model with better performance.

Data Flow - 5 Stages
1Input prompt
1000 prompts x 1 text columnReceive user text prompts for generation1000 prompts x 1 text column
"Explain photosynthesis in simple terms."
2Preprocessing
1000 prompts x 1 text columnTokenize text into model-readable tokens1000 prompts x variable token length
"Explain photosynthesis" -> [101, 2345, 6789, ...]
3Model inference GPT-3.5
1000 prompts x variable token lengthGenerate text outputs using GPT-3.51000 prompts x generated text
"Photosynthesis is the process plants use to make food."
4Model inference GPT-4
1000 prompts x variable token lengthGenerate text outputs using GPT-41000 prompts x generated text
"Photosynthesis allows plants to convert sunlight into energy."
5Evaluation
1000 prompts x 2 generated textsScore outputs by relevance, correctness, and fluency1000 prompts x 1 best model label
"GPT-4" chosen for prompt 1, "GPT-3.5" for prompt 2
Training Trace - Epoch by Epoch
Loss
0.5 |****
0.4 |******
0.3 |********
0.2 |**********
0.1 |************
     1 2 3 4 5 Epochs
EpochLoss ↓Accuracy ↑Observation
10.450.7Initial training with moderate loss and accuracy
20.350.78Loss decreased, accuracy improved
30.280.83Model converging well with steady improvement
40.220.87Further loss reduction and accuracy gain
50.180.9Training nearing optimal performance
Prediction Trace - 4 Layers
Layer 1: Tokenization
Layer 2: GPT-3.5 inference
Layer 3: GPT-4 inference
Layer 4: Evaluation
Model Quiz - 3 Questions
Test your understanding
Which model showed better accuracy during training?
ABoth equal
BGPT-3.5
CGPT-4
DNot enough information
Key Insight
Model selection compares outputs from different models on the same input to pick the best one. Training metrics like loss and accuracy help understand model quality, while evaluation of generated text ensures the chosen model meets task needs.

Practice

(1/5)
1. Which model should you choose if you need detailed and complex text generation?
easy
A. GPT-3.5
B. Both are equally detailed
C. GPT-4
D. Neither, use a smaller model

Solution

  1. Step 1: Understand model capabilities

    GPT-4 is designed for more complex and detailed tasks compared to GPT-3.5.
  2. Step 2: Match task complexity to model

    For detailed and complex text generation, GPT-4 is the better choice.
  3. Final Answer:

    GPT-4 -> Option C
  4. Quick Check:

    Complex tasks = GPT-4 [OK]
Hint: Choose GPT-4 for complexity, GPT-3.5 for speed [OK]
Common Mistakes:
  • Choosing GPT-3.5 for complex tasks
  • Thinking both models have same detail level
2. Which of the following is the correct way to specify GPT-3.5 in an API call?
easy
A. "model": "gpt-3.5-turbo"
B. "model": "gpt-3"
C. "model": "gpt-4"
D. "model": "gpt-5"

Solution

  1. Step 1: Recall model naming conventions

    The GPT-3.5 model is named "gpt-3.5-turbo" in API calls.
  2. Step 2: Identify correct option

    "model": "gpt-3.5-turbo" matches the exact model name for GPT-3.5.
  3. Final Answer:

    "model": "gpt-3.5-turbo" -> Option A
  4. Quick Check:

    Correct model name = "model": "gpt-3.5-turbo" [OK]
Hint: Use exact model name string in API call [OK]
Common Mistakes:
  • Using "gpt-3" instead of "gpt-3.5-turbo"
  • Confusing GPT-4 name with GPT-3.5
3. Given this code snippet calling the OpenAI API, which model will produce faster responses but possibly less detailed output?
response = openai.ChatCompletion.create(
  model="gpt-3.5-turbo",
  messages=[{"role": "user", "content": "Explain photosynthesis."}]
)
medium
A. GPT-3.5, faster but less detailed
B. GPT-4, slower but more detailed
C. GPT-4, faster and more detailed
D. GPT-3.5, slower but more detailed

Solution

  1. Step 1: Identify the model used in code

    The code uses "gpt-3.5-turbo" as the model parameter.
  2. Step 2: Recall model speed and detail tradeoff

    GPT-3.5 is faster but less detailed compared to GPT-4.
  3. Final Answer:

    GPT-3.5, faster but less detailed -> Option A
  4. Quick Check:

    Model in code = GPT-3.5 [OK]
Hint: Check model name string to know speed/detail tradeoff [OK]
Common Mistakes:
  • Assuming GPT-3.5 is slower
  • Confusing model names in code snippet
4. You wrote this API call but get an error:
response = openai.ChatCompletion.create(
  model="gpt-3.5",
  messages=[{"role": "user", "content": "Tell me a joke."}]
)
What is the likely problem?
medium
A. Messages list is missing a system role
B. Model name is incomplete, should be "gpt-3.5-turbo"
C. API key is missing
D. The model "gpt-3.5" does not exist

Solution

  1. Step 1: Check model name correctness

    The model name "gpt-3.5" is incomplete; the correct full name is "gpt-3.5-turbo".
  2. Step 2: Understand error cause

    Using an incomplete model name causes the API to reject the call.
  3. Final Answer:

    Model name is incomplete, should be "gpt-3.5-turbo" -> Option B
  4. Quick Check:

    Model name must be exact [OK]
Hint: Use full model name string to avoid errors [OK]
Common Mistakes:
  • Using partial model names
  • Assuming system role is mandatory
  • Ignoring API key errors
5. You want to build a chatbot that answers customer questions quickly and cheaply but can switch to detailed answers when needed. How should you select models in your code?
hard
A. Always use GPT-4 for all answers
B. Use GPT-4 only, it is always more accurate
C. Use GPT-3.5 only, it is always faster and cheaper
D. Use GPT-3.5 for quick replies, switch to GPT-4 for detailed ones

Solution

  1. Step 1: Understand tradeoffs between GPT-3.5 and GPT-4

    GPT-3.5 is faster and cheaper but less detailed; GPT-4 is slower and costlier but more detailed.
  2. Step 2: Match chatbot needs to model selection

    Use GPT-3.5 for quick, cheap answers and switch to GPT-4 when detailed responses are needed.
  3. Final Answer:

    Use GPT-3.5 for quick replies, switch to GPT-4 for detailed ones -> Option D
  4. Quick Check:

    Balance speed and detail with model switching [OK]
Hint: Switch models based on answer detail needed [OK]
Common Mistakes:
  • Using only one model for all tasks
  • Ignoring cost and speed tradeoffs