Lesson 4.1 — Run Two Models & Pick a Winner
Introduction to AI · Module 4: Local LLMs · About 75 min · Windows PC, RTX 4090, PowerShell 5
Tonight's goal: run qwen3.8:27b and deepseek-r1:32b on 4 of your own real tasks, score them, and choose your everyday local model.
Before you start
>>> means you're talking to the model; PS C:\> means you're in PowerShell. PowerShell commands (like ollama ..., cd, notepad) only work at the PS C:\> prompt.Step 1 · Check your models (⏱ 0:00–0:05)
Type this and press Enter:
ollama listYou should see both models (sizes approximate):
NAME ID SIZE MODIFIED
qwen3.8:27b ... 18 GB ...
deepseek-r1:32b ... 20 GB ...Then check the GPU:
nvidia-smiYou should see a table with NVIDIA GeForce RTX 4090 and 24564MiB total memory.
Step 2 · First chat and speed check (⏱ 0:05–0:15)
ollama run qwen3.8:27bYou should see a >>> prompt. You're now talking to the model, not PowerShell. Type hi and press Enter. You'll get a reply (it may "think" first).
Now leave the chat: **type /bye and press Enter. Wait until you see PS C:\...> before the next command.**
Now measure speed (type this at the PS C:\...> prompt, not at >>>). Because the question is included in the command, it answers and returns to PS C:\...> by itself, with no /bye needed:
ollama run qwen3.8:27b --verbose "Explain VRAM in 2 sentences"You should see the answer, then stats ending with a line like:
eval rate: 40.00 tokens/sCheck that it's on the GPU (run this within 5 minutes, while the model is still loaded):
ollama psYou should see 100% GPU in the PROCESSOR column.
Repeat the speed check for DeepSeek. Switching models happens in the same PowerShell window: no need to open a new one or close anything. Just check you're at PS C:\...>, then run the command with the other model's name:
ollama run deepseek-r1:32b --verbose "Explain VRAM in 2 sentences"
ollama psStep 3 · Set up your 4 tasks (⏱ 0:15–0:25)
Make a test folder:
mkdir C:\llm-test -Force
cd C:\llm-testCreate the 4 task files. Run these one line at a time; each opens Notepad: paste the prompt, edit it to use your real stuff, then save and close (Ctrl+S, then Alt+F4).
notepad t1.txt
notepad t2.txt
notepad t3.txt
notepad t4.txt(Click Yes when Notepad asks to create the file.)
Suggested prompts (edit freely):
t1 · Email rewrite
Rewrite this message so it's clear, friendly and short (Australian English). Keep all the facts. Message:
<paste a real messy email or text of yours here>t2 · Summary
Summarise the text below in 5 bullet points, then list any action items with who and when. Text:
<paste a page of real notes, e.g. strata minutes>t3 · PowerShell/code
Write a PowerShell 5 script that finds all files over 500MB in my Downloads folder and lists them by size, biggest first, with sizes in GB. Explain each line briefly.t4 · Plan
Break this task into 5 small steps of 15 minutes or less, each with a clear "done when": <a real task you've been putting off>Step 4 · Run both models on all 4 tasks (⏱ 0:25–0:55)
Copy this whole block into PowerShell in one go and press Enter. It runs 8 jobs (one model at a time) and takes roughly 10–25 min. Take a break while it runs.
cd C:\llm-test
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
$models = "qwen3.8:27b", "deepseek-r1:32b"
foreach ($m in $models) {
foreach ($t in 1..4) {
$p = Get-Content "t$t.txt" -Raw -Encoding UTF8
$name = ($m -replace ':', '_') + "-t$t.md"
Write-Host "Running $m on task $t ..." -ForegroundColor Cyan
$secs = (Measure-Command {
ollama run $m $p | Out-File $name -Encoding utf8
}).TotalSeconds
$secs = [math]::Round($secs)
Write-Host " done in $secs s -> $name" -ForegroundColor Green
"$m,task$t,$secs" | Out-File times.csv -Append -Encoding utf8
}
}
Write-Host "ALL DONE" -ForegroundColor YellowYou should see 8 cyan "Running..." lines, each followed by a green "done in ... s" line, and then ALL DONE. Check the files:
dir *.md
Get-Content times.csvYou should see 8 .md files and 8 lines of times.
-Encoding utf8 is right for PowerShell 5 (it adds a BOM, which is fine). The [Console]::OutputEncoding line stops odd characters like ’ showing up.Step 5 · Read and score (⏱ 0:55–1:10)
Open each pair side by side, for example:
notepad qwen3.8_27b-t1.md
notepad deepseek-r1_32b-t1.mdDeepSeek shows its thinking first (Thinking... then ...done thinking.). Judge only the final answer. Score quality 1–5 (5 = I'd use it as-is). Take the times from times.csv.
| Task | Qwen3.8 quality (1–5) | Qwen time (s) | R1 quality (1–5) | R1 time (s) | Winner |
|---|---|---|---|---|---|
| 1 Email | |||||
| 2 Summary | |||||
| 3 Code | |||||
| 4 Plan | |||||
| Total |
Step 6 · Decide (⏱ 1:10–1:15)
Write one line: "For everyday tasks I'll use because ."
(Optional: "For I'll use the other one.")
✅ Pass check: lesson complete when ALL are ticked
Troubleshooting
| Problem | Fix |
|---|---|
Typed a command and the model answered it instead (you see >>>) | You're still inside the model chat. Type /bye, press Enter, wait for PS C:\...>, then type the command again. |
ollama is not recognized | Close and reopen PowerShell. If it still fails, start Ollama from the Start menu, then try again. |
ollama ps shows a CPU % (e.g. 30%/70% CPU/GPU) | Close Chrome and games, then run ollama stop qwen3.8:27b (or the other model) and try again. Check nvidia-smi for other GPU users. |
| Very slow (under 10 tokens/s) | Usually the same cause as above: not 100% on the GPU. |
| Error: model not found | Run ollama list and copy the exact name, including :27b or :32b. |
| Running scripts is disabled | Paste the loop straight into the window (that's allowed). Don't save it as a .ps1 file. |
| Weird characters in files | Make sure you ran the [Console]::OutputEncoding line, then re-run the loop. |
| A job seems stuck for more than 10 min | Press Ctrl+C, run ollama ps, then ollama stop <model>, and re-run. |
| Answer cut off or rambling | That's normal for a reasoning model. Score what's there and note it. |
Quick quiz
Finish this lesson
Nice work! Pick your next step: