Is it better to have 1 generic transaction or several specific ones?

I have a module that is processing images. The inputs are a mix of pixels values and pre-processed data.

To verify my module, I use an UVM environment with a reference model and a comparator.
Right now, I send the same data to my module and my ref model while it could be easier to just send my raw image data to the ref model.
This will result in 1 single transaction to the ref model with all data for 1 image and multiple transactions to the driver. (1 transaction contains 1 pixel data, axi signals and other signal like pix_last to specify the data incoming is the last pixel of the image)

My question is, is it good practice to have a generic transaction that handles module data and ref data ? In this case, some transaction variables won’t be used either by ref model and driver.
Or is it better to have 2 distinct transactions (and drivers) to really keep REF and DUT data separated ?

thanks in advance for your advise :)