Как уменьшить размер модели?
Если не получается отделить часть методов в отдельный класс, то делите на трейты. Кому-то покажется что такой подход "некошерен", но с проблемой организации кода он справляется хорошо.
Трейты как выше уже писали использовать не логично - их применяют для реализации функционала используемого в нескольких классах.
Было бы логично уменьшить размер модели путём разбиение его функционала на под-модели в модулях. 
Допустим есть базовая модель User всего приложения, содержит лишь нужный всем функционал, базовые правила валидации, связи, геттере-сеттеры и прочее. В модуле авторизации имеется своя модель User с нужным для этого модуля функционалом. 
Конечно этот вариант проблемно реализовать на php  < 5.3, т.к. с пространством имён такое проворачивать веселее, чем именовать модели прифексами, BaseUser, AuthUser и т.д. 
Выше описанную методику мы используем при разработке проекта на Yii2.