Videos EUsPvBeIx70
Semantic Blindness: 500,000 Sensors Confused an LLM - Raahul Singh & Vanč Levstik, Phaidra
Scene timeline
34 shot(s).
keyframes kept every frame deduplicated
What was stored
- cues
- 170
- whisperx 170
- chunks
- 30
- from 170 cues
- keyframes
- 16
- kept of 34 captured
- frames with text
- 16
- 251 lines read
- chapters
- 0
- from the source metadata
- keyframe bytes
- 2.1 MB
- word timings on 170 cues
Provenance
| stage | state | model | started | took |
|---|---|---|---|---|
fetch |
done | — | 2026-08-11 03:20 | 1m 23s |
stt |
done | — | 2026-08-11 03:21 | 18s |
chunk |
done | — | 2026-08-11 03:21 | 0s |
text_embed |
done | — | 2026-08-11 03:21 | 0s |
keyframe |
done | — | 2026-08-11 03:21 | 46s |
ocr |
done | — | 2026-08-11 03:22 | 7s |
frame_embed |
done | — | 2026-08-11 03:22 | 2s |
Frames, and what the machine read
-
- phaidra1.00
- PATENT PENDING0.99
- AI ENGINEER WORLD'S FAIR 20260.99
- Semantic Blindness: We gave an LLM1.00
- 500,000 sensors — and it got confused.0.98
- What broke, and the architecture that fixed it.1.00
- Vanč Levstik0.99
- Raahul Singh · Staff AI Research Engineer0.96
- Vanč Levstik · Senior Engineering Manager0.99
-
- phaidra1.00
- PATENT PENDING0.99
- AI ENGINEER WORLD'S FAIR 20261.00
- Semantic Blindness: We gave an LLM1.00
- 500,000 sensors — and it got confused.0.98
- What broke, and the architecture that fixed it.1.00
- Raahul Singh1.00
- Raahul Singh · Staff Al Research Engineer0.98
- Vanč Levstik · Senior Engineering Manager0.99
-
- THE PROBLEM1.00
- The naive build0.98
- A site is tens of thousands of heterogeneous components -0.99
- GPUs, chillers, pumps, valves, PDUs, switches, sensors.1.00
- EVERYEQUIPMENT NAME0.96
- rack-12 / gpu-030.99
- chiller-a / supply-temp1.00
- pump-07 / speed0.99
- valve-22 / position1.00
- switch-09 / port-40.97
- meter-44 / kw0.97
- cdu-2 / flow0.98
- tower-3 / fan0.97
- pdu-5 / leg-b0.91
- ahu-1 / return-temp0.99
- sensor-88 / humidity1.00
- busbar-4 / current1.00
- rack-12 / gpu-84 coil-2 / delta-p0.95
- damper-7 / pos0.96
- vfd-09 / hz0.86
- tank-1 / level0.97
- rack-31 / gpu-111.00
- filter-6 / delta-p0.98
- breaker-15 / state0.99
- zone-3 / temp0.99
- rack-31 / gpu-120.99
- pump-08 / speed0.96
- manifold-4 / flow0.98
- node-22 / inlet-tenp0.97
- pdu-6 / leg-a0.95
- tower-4 / fan0.99
- meter-45 / km0.95
- rack-77 / gpu-010.99
- exch-3 / approach0.97
- valve-23 / position0.99
- crac-2 / supply1.00
- Raahul Singh0.98
- LLM0.93
- → "find the matches." At demo scale it works beautifully. So we shipped it.0.97
- Phaidra ai0.95
-
- THE PROBLEM0.99
- works.any() vs works.all()0.99
- Demo=works.any()1.00
- Product=works.all()1.00
- One situation has to work. Easy to reach.1.00
- Every situation, every time. The naive build0.99
- Looks finished.1.00
- fails quietly and inconsistently.1.00
- Raahul Singh1.00
- After Andrej Karpathy - "Software in the era of Al"0.96
- Phaidra al0.89
-
- DOO0.50
- THE PROBLEM0.99
- works.any() vs works.all()0.98
- Demo=works.any()1.00
- Product=works.all()1.00
- One situation has to work. Easy to reach.1.00
- Every situation, every time. The naive build0.99
- Looks finished.1.00
- fails quietly and inconsistently.1.00
- Raahul Singh0.97
- After Andrej Karpathy - "Software in the era of Al*0.96
- Phaidra.ai1.00
-
- THEPROBLEM1.00
- The fan-out wall0.99
- shard5,800 names0.95
- ~460K1.00
- names1.00
- 92 parallel LLM calls0.98
- flat list · no structure0.96
- +86more·92 shardstotal0.97
- What broke: the model returned phantom equipment that doesn't exist - and silently dropped0.99
- Raahul Singh1.00
- real components that were right there.0.99
- Each shard is semantically blind — it loses the forest for the trees. Cost scales O(instances) → it breaks.0.98
- Phaidraa0.87
-
- INSIGHT 1·THE LINEARISER0.95
- A million nodes → ~50 lines0.96
- data_center1.00
- 1,089,0111.00
- tree nodes1.00
- →~1000:1→1.00
- building (10)0.95
- data_hall (200)0.99
- rack (6,400)0.99
- gpu (468,800)0.92
- A 64-GPU site and a 460K-GPU0.99
- gpu:1.00
- data_center > building > data_hall > rack > gpu0.98
- chiller: data_center > building > chiller_plant > chiller1.00
- site produce nearly the same summary.1.00
- switch: data_center > building > data_hall > leaf_switch1.00
- The LLM sees every path and the full0.99
- Raahul Singh0.98
- containment at once.0.98
- Phaidra ai0.93
-
- INSIGHT 2·THE PLANNER0.98
- From searching to planning1.00
- "Show me the GPUs in data hall 11 that1.00
- "scope_under": "<data_hall subtree>".0.97
- "collect": "gpu",0.96
- are running hot.1.00
- "filter": "running_hot"0.99
- The LLM reads the 50-line summary - never a0.98
- list of names.0.99
- # a plan - a recipe, not a search0.99
- Raahul Singh1.00
- Phaidra ai0.94
-
- INSIGHT 3-EXECUTION0.96
- DeO0.56
- Pre-indexed trees·instant1.00
- nodes = index.by_type["gpu"]0.99
- # 0(1) lookup0.97
- scoped = subtree(data_hall_11)1.00
- # pointer walk0.98
- result = scoped filter(running_hot)0.99
- # set intersection1.00
- sub-ms1.00
- Pure set operations on in-memory trees –0.96
- no disk I/O, no further LLM calls.0.97
- Raahul Singh1.00
- Phaidra.al0.91
-
- INSIGHT4·SENTINELS0.98
- Messy naming, constant cost1.00
- The LLM sees the facility's naming rule - <convention>0.98
- if the LLM read the names0.99
- - never the names.0.99
- It writes a filter pattern - <filter>.0.97
- sentinel—flat0.98
- Deterministic code applies it to every candidate name.0.99
- SK0.92
- 100K1.00
- SM names0.95
- Raahul Singh0.98
- constant1.00
- 5K names or 5M, it never sees them.0.99
- The LLM cost doesn't move as the system grows -0.98
- Phaidra.ai0.88
-
- THE IMPACT0.99
- Accuracy that holds at scale1.00
- Before vs after the change - same model, same data, same ground truth, 3 runs per case.0.99
- 100%1.00
- 100%1.00
- 100%1.00
- 80%1.00
- 100%0.99
- 25%1.00
- 31%1.00
- accuracy1.00
- Vanč Levstik1.00
- 64 GPUs0.96
- 9,216 GPUs1.00
- ~460K GPUs0.98
- Before - naive (dump names into context)0.96
- After - structured (plan + deterministic resolve)0.98
- Phaidra.ai0.91
Transcript
170 cues· 2,690 words· 14,576 chars
- 0:00 Welcome, everyone.
- 0:01 My name is Rahul Singh.
- 0:02 I'm a staff AI research engineer at Phaedra.
- 0:05 And I'm Vansh Listic.
- 0:06 I'm a senior engineering manager also at Phaedra.
- 0:09 And today, we want to talk about the time when we gave an LLM 500,000 sensor names and it got confused.
- 0:15 We call this problem semantic blindness.
- 0:18 At Phaedra, we build AI agents for AI factories.
- 0:22 This includes agents which allow our customers to talk about their data centers and explain to themselves and understand how the data centers are working and what problems they are facing on a day-to-day basis.
- 0:34 User queries can be anything from what chiller is running hot to analyze the distribution of temperatures across my data halls to is any of my GPUs facing any problems.
- 0:47 Now, from this variety of queries, you can see that these include talking about specific equipments, is Chiller 6 all right, to talking about groups of equipments, GPUs and Data Hall 1.
- 1:00 The industry has not really figured out a common name pattern yet, and every single customer can have their own things, from simple names like RACs, with GPUs, with data holes, which give you an exact idea of where the printings are, to something that is more difficult to comprehend, like CH3 something something six.
- 1:21 We've seen all kinds of names in the industry going forward.
- 1:24 Now, when you're building a demo system, this works because you're working at a small scale.
- 1:30 A simple LLM can look at all the names of your equipment and figure out what the user is talking about.
- 1:36 But this problem really becomes intractable as you go for scale.
- 1:41 For example, at one gigawatt scale factories, you will see 400,000 plus GPUs.
- 1:48 And to support those GPUs, you have power meters, you have chillers, you have other equipments.
- 1:53 LLM context windows are finite, and you will very quickly saturate them, and it just becomes a problem.
- 1:59 Like we say, a product is something that works for all scenarios and does not fail silently.
- 2:03 A demo just has to work for one.
- 2:07 In addition to having the LLM figure out these names, we could also have embedded them in a RAC database, a vector embedding approach.
- 2:16 But the problem is, oftentimes, the names are so similar that semantic search just fails.
- 2:21 There's very little difference between a string name of 20 characters long, which is differed by, let's say, one character, chiller 6 instead of chiller 7.
- 2:31 or cdu something versus well something else it's very small so you get a lot of problems with getting accurate recall also llms suffer from what we call a frequency penalty if you keep on outputting very similar names over and over again or very similar tokens more accurately over and over again
- 2:53 there are internal penalties in the lm which just shut off their output so if the user says list all the names of uh let's say gpus in ism and there are let's say a hundred just by listing through them the lms uh gadgets would see uh think that well it's spiraling
- 3:10 and it would just shut the system up.
- 3:13 So we can't really have these two approaches.
- 3:15 RAG would not work.
- 3:16 Just naive LLMs would not work.
- 3:19 As we move into production systems, we need something that can scale as the system scales.
- 3:24 Now, there are naive solutions which we shall discuss going forward.
- 3:27 A naive approach to solve this problem would be just to, well, divide and conquer.
- 3:32 Take your different equipments, branch them in different shards, and pass them through LLMs.
- 3:38 Parallel calls should work, right?
- 3:40 Well, that's what we thought.
- 3:42 The problem is you get horrible recall and hallucinations.
- 3:46 You will see LLMs invent phantom equipment that do not exist and also silently drop things that do exist.
- 3:53 Now, this creates a problem for machine critical systems where the users need to know exactly what is happening with their systems.
- 4:00 Any problems, they will quickly erode user trust.
- 4:02 At the same time, you will miss on specific problems, which can cascade into bigger and bigger problems going forward.
- 4:10 Anywho, something that we realized here is that as the size of these physical infrastructure grows, the LLM-based solutions cannot grow with the size of individual components or instances or nodes.
- 4:25 We have to find something that grows sub-linearly with increasing equipment count.
- 4:30 And this is what we figured out.
- 4:32 So we should not grow with instances.
- 4:34 We should grow with tree depth.
- 4:36 Now, what do we mean by tree depth here?
- 4:38 We realized that there's a hierarchical structure in which an AI factory is arranged.
- 4:42 You will have data centers.
- 4:43 Then each data centers will have different data halls.
loading