2-3 hours at a time is still not a lot when you are getting interrupted sleep ike that night after night. When my dd was little I got myself to the same stage as you. I would shout or (very rarely, but i did it) push or smack her, and afterwards feel huge guilt and promise myself I would never do it again. I even shouted at her that I hated her once. My beautiful, sweet, engaging dd whom I loved with a passion.
That was the point when I did what you are doing, I stopped and looked at myself and realised it wasn't right or fair to be like this with her' and that most of all it wasnt ME.
I was very isolated, couldn't drive, had no friends, saw no one but DH when he got home from work. I changed this, I got out for a walk every day, I read some anger management books, I looked at my own childhood to see where any of this had come from ( both oarents have hige anger management issues and arevery explosive in temper and shildish when angry) I learned to recognise my triggers and remove myself from the situation when I could feel the rage start. I also told DH and my long distance friend what was happening and they were wonderful and supportive and helped me gain control of myself.
I pretended that every move I made could be seen by someone else, if I went to do something that I knew someone else would see was wrong, I stopped myself. Sometimes it was easy. Sometimes I had to physically remove myself from the room for a minute and scream into or punch a pillow.
I have never ever touched ds in anger, or dd subsequent to the day I shouted that I hated her. Don't get me wrong, they still get told off and very occasionally shouted at if they are very naughty, but they will never ever again feel the lash of that uncontrolled and unexplainable anger, because it doesn't belong in their world. It belongs in mine and is mine to handle.
You CAN do this. Parenthood is hard and thankless and boring at time and I think feeling trapped by that lead me to be like I was. So I now make a point of having a weekend away from the kids, once every 3 months or so, even if just to visit a friend, doesn't have to be expensive, keeps me sane, makes them all appreciate me a lot more.