A spectral-energy distribution (SED) model for Type Ia supernovae (SNe Ia) is a critical tool for measuring precise and accurate distances across a large redshift range and constraining cosmological parameters. We present an improved model framework, SALT3, which has several advantages over current models including the leading SALT2 model (SALT2.4). While SALT3 has a similar philosophy, it differs from SALT2 by having improved estimation of uncertainties, better separation of color and light-curve stretch, and a publicly available training code. We present the application of our training method on a cross-calibrated compilation of 1083 SNe with 1207 spectra. Our compilation is $2.5times$ larger than the SALT2 training sample and has greatly reduced calibration uncertainties. The resulting trained SALT3.K21 model has an extended wavelength range $2000$-$11000$ angstroms (1800 angstroms redder) and reduced uncertainties compared to SALT2, enabling accurate use of low-$z$ $I$ and $iz$ photometric bands. Including these previously discarded bands, SALT3.K21 reduces the Hubble scatter of the low-z Foundation and CfA3 samples by 15% and 10%, respectively. To check for potential systematic uncertainties we compare distances of low ($0.01<z<0.2$) and high ($0.4<z<0.6$) redshift SNe in the training compilation, finding an insignificant $2pm14$ mmag shift between SALT2.4 and SALT3.K21. While the SALT3.K21 model was trained on optical data, our method can be used to build a model for rest-frame NIR samples from the Roman Space Telescope. Our open-source training code, public training data, model, and documentation are available at https://saltshaker.readthedocs.io/en/latest/, and the model is integrated into the sncosmo and SNANA software packages.