Optimally replace entirely. Imagine it as a different design system. The fact that they have the same name is just that 3 is an iteration later than the other one (which is technically 2, since material had a first iteration as well)
Practically, there may still be a thing or two not existing in material3 where you'll have to fall back to material2 (or do it yourself).
If you're starting on a new project, just use m3 directly, and if you ever need something for m2 too you'll have to do some extra setup for it.