In my opinion there is not a memory type better than other. Simply they are different things.
Normal ram are used only by the cpu, and the gpu ram is used onnly by the gpu.
This is quite clear when you code direct in CUDA, i.e. if you want that the gpu use some data in normal ram you must move them to the gpu memory (host -> device). And if you want use some gpu results inside the cpu you must move them (device -> host). Note that in some languages there are "tricks" to avoid explic passage, for example Unified Memory Programming:
The underlying system manages data access and locality within a CUDA program without need for explicit memory copy calls.
Behind the scene there are movement (note is better this or manual movement this is another question....).
Keras and tensorflow are made to hide this level of detail, so you do not see it direct.
For the above motivation is not correct to compare the two memory.
If you want to have an idea about a size comparison, here is heavy dependent by the problem. I try to explain with CUDA. A gpu works with a parallel execution of a N times of the same function (read kernel) with different data. See SIMD every new data is assigned to a different thread. Now normally you have got a number of cases to elaborate >> of N so the gpu groups and organize the threads, see this, in pool of N and these pools are execute sequentially.
With some simplification you can consider how many memory every thread use (here heavy dependency by the problem) and multiply for N. In this way you have got a rough estimate of the memory used by the gpu and you can understand if 2 GB of gpu are enough for 64 gp of cpu ram.