First of all, data attributes use hyphens ( - ) rather than underscore ( _ ).
In addition, "switch-large" is not a valid value for the size parameter, which takes the following values:
null, 'mini', 'small', 'normal', 'large'
More importantly, the large control does not actually do so much to resize. You will have to redefine the width of the control as follows:
.bootstrap-switch-large{ width: 200px; }
All control widths are based on the percentages of their parent, so everything else should still issue a penalty.
<input type="checkbox" class="switch" data-on-text="normal" data-off-text="abnormal" data-size="large" />

source share