--- license: other license_name: chalearn-fi-derived license_link: https://chalearnlap.cvc.uab.cat/dataset/24/description/ pretty_name: PersonalityLinMulT — FI Big Five champion weights library_name: pytorch pipeline_tag: other tags: - personality - big-five - multimodal - affective-computing - lightning - linmult --- # PersonalityLinMulT — FI Big Five champion weights Trained checkpoints for the Big Five apparent-personality regression task from [**PersonalityLinMulT**](https://github.com/fodorad/PersonalityLinMulT), trained on the First Impressions V2 (FI) dataset. Every checkpoint here is a **champion**: the current best-performing run for its feature combination, promoted deliberately (never automatically) via the project's MLflow Model Registry, and mirrored here so a model can be loaded with nothing but `pip install personalitylinmult` — no MLflow, no repo clone. ## Usage ```python from personalitylinmult import PersonalityModel model = PersonalityModel.from_pretrained("wavlm_best-ccc") scores = model.predict({"wavlm": wavlm_features}) # {trait: score in [0, 1]} ``` `model.feature_names` lists exactly which features a given checkpoint needs; `model.traits` lists the five Big Five traits in output order (`openness`, `conscientiousness`, `extraversion`, `agreeableness`, `emotional_stability`). ### ONNX Runtime (optional, `pip install personalitylinmult[onnx]`) ```python from personalitylinmult.onnx import PersonalityModelONNX model = PersonalityModelONNX.from_pretrained("wavlm_best-ccc") scores = model.predict_from_audio("clip.wav") # raw audio/video -> predictions, # no torch/transformers/exordium ``` A separate class, not a flag on `PersonalityModel` — installing the plain package never pulls in `onnxruntime`. WavLM's own ONNX export (`wavlm-base-plus.onnx`, shared across every WavLM-based champion) downloads on first use. See `docs/experiments.md` (Blocks 5-6) for the accuracy/speed benchmark and the small, measured prediction drift from `ffmpeg`-based resampling (~0.001-0.004 per trait). ## Model id naming `{features joined by "_", multiword feature names use "-"}_best-{metric}`, e.g.: - `wavlm_best-ccc` — single-stream **LinT**, WavLM audio only. - `wavlm-emotion2vec_best-ccc` — cross-modal **LinMulT**, audio fusion (WavLM + emotion2vec). - `avt_best-ccc` — cross-modal **LinMulT**, all 7 features (audio + visual + text). The architecture (LinT vs. LinMulT) is never part of the id: a checkpoint is self-describing, and `PersonalityModel.from_pretrained(...)` reads it off the downloaded checkpoint automatically. `_best-{metric}` names which validation metric the run was selected on — `ccc` (Lin's concordance correlation) is preferred over `mae`/`loss` for this task, since elementwise losses collapse prediction variance toward the training mean (see `docs/experiments.md` for the full comparison and the `std_ratio` metric that catches this). ## Current champions ### `wavlm_best-ccc` Single-stream **LinT**, WavLM audio only. Trained with `ccc` loss at `batch_size=256` — the batch size that resolves CCC's per-batch statistical noise problem (see `docs/experiments.md`, Block 3, for the full diagnosis). | Metric | Value | | --- | --- | | test `mean(1 - MAE)` | 0.8918 | | test `mean CCC` | 0.5604 | | test `mean Pearson r` | 0.5609 | | test `mean std_ratio` | 1.0013 | - **MLflow experiment**: `fi_lint_wavlm-ccc-bs256` - **MLflow run_id**: `efb88223fdd04753bb8cefc46a5b51f7` - **Registered as**: `fi_lint_wavlm-ccc-bs256` v1, `@champion` - **Git SHA**: `0f60e83f35061e8ee26af61e5a58ad1950986446` - **Reproduce**: `make train-fi-wavlm ARGS="--set train.loss=ccc --set data.batch_size=256"` Every other promoted champion (e.g. an AVT full-multimodal model, once one finishes training and is evaluated) will be added here the same way — promoted via `make promote-champion` and published via `make push-champion-model`, never automatically. ## License These weights are derived from training on the ChaLearn First Impressions V2 dataset and are released under the same terms as the dataset itself — see the [official ChaLearn LAP release](https://chalearnlap.cvc.uab.cat/dataset/24/description/). These are apparent-personality *perception* models: they predict how a panel of annotators rated a person from a short clip, not any ground truth about the person. Use accordingly.