I only have 23 obervations. I heard that GMM-IV is usually for large sample. Hence should I use GMM-IV or 2TSLS?
Besides the sample size, what should I also consider when deciding between GMM-IV and 2TSLS?
Both GMM and 2SLS (do not write 2TSLS - TSLS or 2SLS is short-hand for two-stage least squares) are only justified asymptotically, so in large samples, so that will not make a difference.
The key distinction is that GMM uses a more general weighting matrix that yields the efficient estimator also under conditional heteroskedasticity, whereas 2SLS uses a weighting matrix that leads to an efficient estimator only under homoskedasticity.
Both are consistent in either case, however (whether or not consistency is a property that is of much relevance to you, given such a small sample, is another matter).