CoolFace
Modelpublic

Esperanto/Mistral-7B-TimeSeriesReasoner

sourceHugging Facemitupdated 2y agoView on Hugging Face
0likes36downloads
Model Card

Model Card for Model ID

<!-- Provide a quick summary of what the model is/does. --> The Mistral 7B - Time Series Predictor is a fine-tuned large language model designed to analyze server performance metrics and forecast potential failures. It processes time-series data and predicts failure probabilities, offering actionable insights for predictive maintenance and operational risk assessment.

Model Details

Model Description

<!-- Provide a longer summary of what this model is. --> This is the model card of a ๐Ÿค— transformers model that has been pushed on the Hub. This model card has been automatically generated.

  • โ€”Developed by: Sivakrishna Yaganti and Shankar Jayaratnam
  • โ€”Funded by: Esperanto Technologies
  • โ€”Model type: Causal Language Model, fine-tuned for time-series forecasting
  • โ€”Finetuned from model: Mistral 7B

Model Sources [optional]

<!-- Provide the basic links for the model. -->

  • โ€”Repository: [More Information Needed]
  • โ€”Paper [optional]: [More Information Needed]
  • โ€”Demo [optional]: [More Information Needed]

Uses

<!-- Address questions around how the model is intended to be used, including the foreseeable users of the model and those affected by the model. -->

Direct Use

<!-- This section is for the model use without fine-tuning or plugging into a larger ecosystem/app. --> The model can be directly used to:

  • โ€”Forecast server health based on time-series metrics like temperature, power consumption, utilization and throughput.
  • โ€”Predict potential causes of failures using historical data.

Downstream Use [optional]

<!-- This section is for the model use when fine-tuned for a task, or when plugged into a larger ecosystem/app --> The model is ideal for integration into platforms such as Splunk and Grafana to:

  • โ€”Monitor server health in real-time.
  • โ€”Support decision-making in preventive maintenance.

Out-of-Scope Use

<!-- This section addresses misuse, malicious use, and uses that the model will not work well for. -->

  • โ€”This model is not designed for general time-series forecasting outside server health monitoring.
  • โ€”It may not perform well on non-server-related data or domains significantly different from its training dataset.

Bias, Risks, and Limitations

<!-- This section is meant to convey both technical and sociotechnical limitations. --> Bias:

  1. 1.Performance may vary on datasets with metrics significantly different from those in the training data.
  2. 2.Predictions are most accurate when used within the context of server health monitoring.

Risks

  1. 1.Relying solely on the model without validating its predictions may result in inaccurate failure forecasts.
  2. 2.Model outputs are probabilistic and should be interpreted cautiously in critical systems.

Limitations

  1. 1.Limited to time-series metrics related to server health (e.g., temperature, power, throughput).
  2. 2.Performance may degrade for very sparse or noisy datasets.

Recommendations

<!-- This section is meant to convey recommendations with respect to the bias, risk, and technical limitations. --> Recommendations

  1. 1.Use the model in conjunction with other predictive maintenance tools.
  2. 2.Validate model predictions against domain knowledge to ensure accuracy.

How to Get Started with the Model

The Mistral 7B - Time Series Predictor can process time-series queries such as server health metrics and predict failure probabilities and causes. The following Python script demonstrates how to load the model and generate responses.

Code

  • โ€”from transformers import AutoModelForCausalLM, AutoTokenizer
  • โ€”model_name = "Esperanto/Mistral-7B-TimeSeriesReasoner"
  • โ€”tokenizer = AutoTokenizer.frompretrained(modelname)
  • โ€”model = AutoModelForCausalLM.frompretrained(modelname)

prompt = "What is the failure probability and Cause for Server 'x' on Date : [mm/dd/yy]?"

  • โ€”inputids = tokenizer(prompt, returntensors='pt')['input_ids']
  • โ€”output = model.generate(inputids=inputids, maxnewtokens=100)
  • โ€”response = tokenizer.decode(output[0])
  • โ€”print(response)

Example Prompt

  • โ€”What is the failure probability and Cause for Server 'x' on Date : [mm/dd/yy]?
  • โ€”Expected Ouptut: The failure probability for ET-1 on 11th July is 0.72. The likely cause is overheating due to sustained high temperatures over the past week.

Requirements

Dependencies:
  • โ€”pip install torch transformers

Training Details

Training Data

<!-- This should link to a Dataset Card, perhaps with a short stub of information on what the training data is all about as well as documentation related to data pre-processing or additional filtering. --> Source: Synthetic and real-world server metrics from Esperanto servers. Dataset: Synthetic data generated with periodic patterns (e.g., cosine functions) combined with operational zones (green, yellow, red).

Training Procedure

<!-- This relates heavily to the Technical Specifications. Content here should link to that section when it is relevant to the training procedure. -->

Preprocessing [optional]
Numerical to Textual Conversion:

All numerical metrics (e.g., temperature, power consumption, throughput) were converted into descriptive textual data to make it comprehensible for the language model. For example:

  • โ€”Numerical Input: {"temperature": [40, 42, 43]}
  • โ€”Converted Text: "The temperature increased steadily from 40ยฐC to 43ยฐC over the last three readings."
Domain-Specific Context:

Prompts were carefully designed to incorporate domain knowledge, guiding the model to focus on server health indicators and operational risks.

  • โ€”Example prompts include:
  • โ€”"Analyze the following server performance metrics and predict potential failures."
  • โ€”"Based on the provided metrics, forecast failure probabilities and identify potential causes."

These prompts ensured the model understood the critical relationships between input metrics and their operational implications.

Training Hyperparameters
  • โ€”Training regime: [More Information Needed] <!--fp32, fp16 mixed precision, bf16 mixed precision, bf16 non-mixed precision, fp16 non-mixed precision, fp8 mixed precision -->
Speeds, Sizes, Times [optional]

<!-- This section provides information about throughput, start/end time, checkpoint size if relevant, etc. -->

  • โ€”Training time: ~30 hours on NVIDIA A100 GPUs
  • โ€”Model size: ~7B parameters

Evaluation

<!-- This section describes the evaluation protocols and provides the results. -->

Testing Data, Factors & Metrics

Testing Data

<!-- This should link to a Dataset Card if possible. --> Validation set: 10% of synthetic and real-world server performance data.

Factors

<!-- These are the things the evaluation is disaggregating by, e.g., subpopulations or domains. --> Model evaluated for:

  • โ€”Failure prediction accuracy with cause.

Results

image/png

Metrics

<!-- These are the evaluation metrics being used, ideally with a description of why. -->

Results

Summary

Model Examination [optional]

<!-- Relevant interpretability work for the model goes here -->

Environmental Impact

<!-- Total emissions (in grams of CO2eq) and additional considerations, such as electricity usage, go here. Edit the suggested text below accordingly -->

Carbon emissions can be estimated using the Machine Learning Impact calculator presented in Lacoste et al. (2019).

  • โ€”Hardware Type: [More Information Needed]
  • โ€”Hours used: [More Information Needed]
  • โ€”Cloud Provider: [More Information Needed]
  • โ€”Compute Region: [More Information Needed]
  • โ€”Carbon Emitted: [More Information Needed]

Technical Specifications [optional]

Hardware

Runs on both GPU A100 and Esperanto ET-SoC

Software

Use Pytorch, Huggingface transformers library

Citation [optional]

Esperanto Blog :

Model Card Authors [optional]

Sivakrishna Yaganti and Shankar Jayaratnam

Model Card Contact

shankar.jayaratnam@esperantotech.com