Australian Standard AS181 states that canopies and exhausts should be cleaned at least once every 12 months.
However, best practice is very often a lot higher than that. It will depend on the fuel (solid / non-solid), the food cooked and the cooking frequency.
A better way to define the frequency is that the canopy and exhaust system should be cleaned when the grease build-up exceeds 0.2 mm on average across the system or if the grease build-up exceeds 2 mm in any one spot.