trees are usually model props, look at
Boojum's Prop Library
now I haven't tried this but I've thought about it... and that is if you want to actually make it look like the player is in a large forest (as too many props will make things run slow) you could make a texture that looks like leaves and branches (multiple if you want more variety), then make displacements that are roughly umbrella shaped, and apply that texture to it (it should be transparent around the edges and between leaves and branches). You can then make rough trunks with func_detail cylindars or possibly displacements, and dot the canopy displacements around to make the forest canopy appear full.
once again I haven't tried this, but it should be able to create more of a forest without the cost of tons and tons of models, which would also increase file size significantly.