|
|
|
|
|
by magicalhippo
347 days ago
|
|
> There is no separation of code and data on the wire - everything is a stream of bytes. There isn't one in electronics either - everything is signals going down the wires. Overall I agree with your message, but I think you're stretching it too far here. You can make code and data physically separate[1]. But if you then upload an interpreter, that "one level of abstraction up", you can mix code and data again. https://en.wikipedia.org/wiki/Harvard_architecture |
|
You cannot. I.e. this holds only within the abstraction level of the system. Not only it can be defeated one level up, as you illustrated, but also by going one or more levels down. That's where "side channels" come from.
But the most relevant part for this discussion is, even with something like Harvard architecture underneath, your typical software systems is defined in terms of reality several layers of abstraction above hardware - and LLMs, specifically, are fully general interpreters and can't have this separation by the very nature of the task. Natural language doesn't have it, because we don't have it, and since the job of LLM is to process natural language like we do, it also cannot have it.