12- or 16-bit greyscale is common, with multiple channels for hyperspectral data. But since it can also store 32-bit data, floats, and complex numbers as well as rationals, it can be used as a container for pretty much anything you want to throw at it.
Regarding RAW. It's often used with colour CCDs with various types of CFA, like Bayer or CMY. It might have a higher bit depth, but it's still basically RGB but spatially separated and stored as greyscale. You could maybe feed it directly to your ML, but it's more common to filter it to create RGB data retaining the bit depth but at the expense of low pass filtering to remove aliasing artefacts. Or keep the separation to keep the high frequency components; really depends upon what information you want to extract.