I'm pretty damn sure these are M2.5 (diameter) x 0.45 (thread pitch) x 3mm (length)
What I actually measured was 2.5mm x 0.5mm x 2.8mm but the closest thing I could find online was 2.5 x 0.5 x 3mm so either maybe my measurements are off a little bit (micrometer COULD be out of calibration, but I don't think it is) or it's a proprietary part that Gigabyte had made to those specifications which is a definite possibility. I'm betting that either of them would work because those measurements are so close to the same I find it hard to believe they wouldn't be interchangeable if they were actually different. The only thing not too sure about is the length because if it's too long it could bottom out without snugging the heatsink fully down.
In fact, on mine, even using the screw that comes preinstalled, I had to use a washer large enough to go around the nub of the standoff that sticks up a little bit past the heatsink surface to take up that extra space and actually allow the heatsink to be fully seated with no wiggle tolerance remaining. If you know what I mean. Not just big enough for the screw to fit inside, but it needs to be very small diameter while at the same time about to fit over the end of the standoff that sticks up past the surface of the heatsink. Otherwise, might as well not even use the heatsink if it's not actually snugged down fully against the top of the drive because then it's just trapping heat, not sinking it.