Text Classification
Transformers
Safetensors
English
marks
feature-extraction
finance
earnings-calls
multi-task
regression
sec
quantitative-finance
custom_code
Instructions to use BinomialTechnologies/binomial-marks-1 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use BinomialTechnologies/binomial-marks-1 with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-classification", model="BinomialTechnologies/binomial-marks-1", trust_remote_code=True)# Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("BinomialTechnologies/binomial-marks-1", trust_remote_code=True, dtype="auto") - Notebooks
- Google Colab
- Kaggle
| """Configuration class for binomial-marks-1. | |
| Distributed alongside the model on HuggingFace Hub so | |
| `AutoConfig.from_pretrained(repo, trust_remote_code=True)` works. | |
| """ | |
| from __future__ import annotations | |
| from transformers.configuration_utils import PretrainedConfig | |
| TOPICS = ( | |
| "guidance", "revenue_growth", "margins", "demand", "buybacks", | |
| "dividends", "m_and_a", "headcount", "macro_exposure", "competition", | |
| ) | |
| TONES = ("mgmt_confidence", "mgmt_defensiveness", "analyst_skepticism") | |
| class MarksConfig(PretrainedConfig): | |
| """Config for MarksMultiHead. | |
| Holds the head spec and the underlying ModernBERT-large config (we wrap | |
| it as a child config so HF tooling can serialize cleanly). | |
| """ | |
| model_type = "marks" | |
| def __init__( | |
| self, | |
| encoder_name_or_path: str = "answerdotai/ModernBERT-large", | |
| encoder_config: dict | None = None, | |
| max_position_embeddings: int = 16384, | |
| # NOTE: named `marks_rope_strategy` (not `rope_scaling`) to avoid | |
| # collision with PretrainedConfig.rope_scaling which transformers | |
| # tries to validate as a dict shape. | |
| marks_rope_strategy: str = "yarn", # "yarn" | "ntk" | "none" | |
| original_max_position: int = 8192, | |
| head_dim_ratio: int = 4, # head hidden = H // ratio | |
| dropout: float = 0.1, | |
| topic_score_range: tuple[float, float] = (-2.0, 2.0), | |
| tone_score_range: tuple[float, float] = (1.0, 5.0), | |
| topics: tuple[str, ...] = TOPICS, | |
| tones: tuple[str, ...] = TONES, | |
| loss_weights: dict | None = None, | |
| **kwargs, | |
| ): | |
| super().__init__(**kwargs) | |
| self.encoder_name_or_path = encoder_name_or_path | |
| self.encoder_config = encoder_config or {} | |
| self.max_position_embeddings = max_position_embeddings | |
| self.marks_rope_strategy = marks_rope_strategy | |
| self.original_max_position = original_max_position | |
| self.head_dim_ratio = head_dim_ratio | |
| self.dropout = dropout | |
| self.topic_score_range = list(topic_score_range) | |
| self.tone_score_range = list(tone_score_range) | |
| self.topics = list(topics) | |
| self.tones = list(tones) | |
| self.loss_weights = loss_weights or { | |
| "topic_mentioned": 0.5, | |
| "topic_score": 1.5, | |
| "tone_scores": 0.2, | |
| } | |