mostlyai-engine 1.4.6__tar.gz → 1.4.7__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. {mostlyai_engine-1.4.6 → mostlyai_engine-1.4.7}/PKG-INFO +1 -1
  2. {mostlyai_engine-1.4.6 → mostlyai_engine-1.4.7}/mostlyai/engine/__init__.py +1 -1
  3. {mostlyai_engine-1.4.6 → mostlyai_engine-1.4.7}/mostlyai/engine/_language/common.py +24 -6
  4. {mostlyai_engine-1.4.6 → mostlyai_engine-1.4.7}/mostlyai/engine/_tabular/generation.py +1 -9
  5. {mostlyai_engine-1.4.6 → mostlyai_engine-1.4.7}/pyproject.toml +1 -1
  6. {mostlyai_engine-1.4.6 → mostlyai_engine-1.4.7}/.gitignore +0 -0
  7. {mostlyai_engine-1.4.6 → mostlyai_engine-1.4.7}/LICENSE +0 -0
  8. {mostlyai_engine-1.4.6 → mostlyai_engine-1.4.7}/README.md +0 -0
  9. {mostlyai_engine-1.4.6 → mostlyai_engine-1.4.7}/mostlyai/engine/_common.py +0 -0
  10. {mostlyai_engine-1.4.6 → mostlyai_engine-1.4.7}/mostlyai/engine/_dtypes.py +0 -0
  11. {mostlyai_engine-1.4.6 → mostlyai_engine-1.4.7}/mostlyai/engine/_encoding_types/__init__.py +0 -0
  12. {mostlyai_engine-1.4.6 → mostlyai_engine-1.4.7}/mostlyai/engine/_encoding_types/language/__init__.py +0 -0
  13. {mostlyai_engine-1.4.6 → mostlyai_engine-1.4.7}/mostlyai/engine/_encoding_types/language/categorical.py +0 -0
  14. {mostlyai_engine-1.4.6 → mostlyai_engine-1.4.7}/mostlyai/engine/_encoding_types/language/datetime.py +0 -0
  15. {mostlyai_engine-1.4.6 → mostlyai_engine-1.4.7}/mostlyai/engine/_encoding_types/language/numeric.py +0 -0
  16. {mostlyai_engine-1.4.6 → mostlyai_engine-1.4.7}/mostlyai/engine/_encoding_types/language/text.py +0 -0
  17. {mostlyai_engine-1.4.6 → mostlyai_engine-1.4.7}/mostlyai/engine/_encoding_types/tabular/__init__.py +0 -0
  18. {mostlyai_engine-1.4.6 → mostlyai_engine-1.4.7}/mostlyai/engine/_encoding_types/tabular/categorical.py +0 -0
  19. {mostlyai_engine-1.4.6 → mostlyai_engine-1.4.7}/mostlyai/engine/_encoding_types/tabular/character.py +0 -0
  20. {mostlyai_engine-1.4.6 → mostlyai_engine-1.4.7}/mostlyai/engine/_encoding_types/tabular/datetime.py +0 -0
  21. {mostlyai_engine-1.4.6 → mostlyai_engine-1.4.7}/mostlyai/engine/_encoding_types/tabular/itt.py +0 -0
  22. {mostlyai_engine-1.4.6 → mostlyai_engine-1.4.7}/mostlyai/engine/_encoding_types/tabular/lat_long.py +0 -0
  23. {mostlyai_engine-1.4.6 → mostlyai_engine-1.4.7}/mostlyai/engine/_encoding_types/tabular/numeric.py +0 -0
  24. {mostlyai_engine-1.4.6 → mostlyai_engine-1.4.7}/mostlyai/engine/_language/__init__.py +0 -0
  25. {mostlyai_engine-1.4.6 → mostlyai_engine-1.4.7}/mostlyai/engine/_language/encoding.py +0 -0
  26. {mostlyai_engine-1.4.6 → mostlyai_engine-1.4.7}/mostlyai/engine/_language/engine/__init__.py +0 -0
  27. {mostlyai_engine-1.4.6 → mostlyai_engine-1.4.7}/mostlyai/engine/_language/engine/base.py +0 -0
  28. {mostlyai_engine-1.4.6 → mostlyai_engine-1.4.7}/mostlyai/engine/_language/engine/hf_engine.py +0 -0
  29. {mostlyai_engine-1.4.6 → mostlyai_engine-1.4.7}/mostlyai/engine/_language/engine/vllm_engine.py +0 -0
  30. {mostlyai_engine-1.4.6 → mostlyai_engine-1.4.7}/mostlyai/engine/_language/generation.py +0 -0
  31. {mostlyai_engine-1.4.6 → mostlyai_engine-1.4.7}/mostlyai/engine/_language/lstm.py +0 -0
  32. {mostlyai_engine-1.4.6 → mostlyai_engine-1.4.7}/mostlyai/engine/_language/tokenizer_utils.py +0 -0
  33. {mostlyai_engine-1.4.6 → mostlyai_engine-1.4.7}/mostlyai/engine/_language/training.py +0 -0
  34. {mostlyai_engine-1.4.6 → mostlyai_engine-1.4.7}/mostlyai/engine/_language/xgrammar_utils.py +0 -0
  35. {mostlyai_engine-1.4.6 → mostlyai_engine-1.4.7}/mostlyai/engine/_memory.py +0 -0
  36. {mostlyai_engine-1.4.6 → mostlyai_engine-1.4.7}/mostlyai/engine/_tabular/__init__.py +0 -0
  37. {mostlyai_engine-1.4.6 → mostlyai_engine-1.4.7}/mostlyai/engine/_tabular/argn.py +0 -0
  38. {mostlyai_engine-1.4.6 → mostlyai_engine-1.4.7}/mostlyai/engine/_tabular/common.py +0 -0
  39. {mostlyai_engine-1.4.6 → mostlyai_engine-1.4.7}/mostlyai/engine/_tabular/encoding.py +0 -0
  40. {mostlyai_engine-1.4.6 → mostlyai_engine-1.4.7}/mostlyai/engine/_tabular/fairness.py +0 -0
  41. {mostlyai_engine-1.4.6 → mostlyai_engine-1.4.7}/mostlyai/engine/_tabular/training.py +0 -0
  42. {mostlyai_engine-1.4.6 → mostlyai_engine-1.4.7}/mostlyai/engine/_training_utils.py +0 -0
  43. {mostlyai_engine-1.4.6 → mostlyai_engine-1.4.7}/mostlyai/engine/_workspace.py +0 -0
  44. {mostlyai_engine-1.4.6 → mostlyai_engine-1.4.7}/mostlyai/engine/analysis.py +0 -0
  45. {mostlyai_engine-1.4.6 → mostlyai_engine-1.4.7}/mostlyai/engine/domain.py +0 -0
  46. {mostlyai_engine-1.4.6 → mostlyai_engine-1.4.7}/mostlyai/engine/encoding.py +0 -0
  47. {mostlyai_engine-1.4.6 → mostlyai_engine-1.4.7}/mostlyai/engine/generation.py +0 -0
  48. {mostlyai_engine-1.4.6 → mostlyai_engine-1.4.7}/mostlyai/engine/logging.py +0 -0
  49. {mostlyai_engine-1.4.6 → mostlyai_engine-1.4.7}/mostlyai/engine/random_state.py +0 -0
  50. {mostlyai_engine-1.4.6 → mostlyai_engine-1.4.7}/mostlyai/engine/splitting.py +0 -0
  51. {mostlyai_engine-1.4.6 → mostlyai_engine-1.4.7}/mostlyai/engine/training.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mostlyai-engine
3
- Version: 1.4.6
3
+ Version: 1.4.7
4
4
  Summary: Synthetic Data Engine
5
5
  Project-URL: homepage, https://github.com/mostly-ai/mostlyai-engine
6
6
  Project-URL: repository, https://github.com/mostly-ai/mostlyai-engine
@@ -22,7 +22,7 @@ from mostlyai.engine.splitting import split
22
22
  from mostlyai.engine.training import train
23
23
 
24
24
  __all__ = ["split", "analyze", "encode", "train", "generate", "init_logging", "set_random_state"]
25
- __version__ = "1.4.6"
25
+ __version__ = "1.4.7"
26
26
 
27
27
  # suppress specific warning related to os.fork() in multi-threaded processes
28
28
  warnings.filterwarnings("ignore", category=DeprecationWarning, message=".*multi-threaded.*fork.*")
@@ -18,7 +18,15 @@ from pathlib import Path
18
18
 
19
19
  import torch
20
20
  from peft import PeftConfig, prepare_model_for_kbit_training
21
- from transformers import AutoConfig, AutoModelForCausalLM, BitsAndBytesConfig, PretrainedConfig, PreTrainedModel
21
+ from transformers import (
22
+ AutoConfig,
23
+ AutoModel,
24
+ AutoModelForCausalLM,
25
+ AutoModelForImageTextToText,
26
+ BitsAndBytesConfig,
27
+ PretrainedConfig,
28
+ PreTrainedModel,
29
+ )
22
30
 
23
31
  from mostlyai.engine._language.lstm import LSTMFromScratchConfig
24
32
 
@@ -35,7 +43,7 @@ def is_bf16_supported(device: torch.device) -> bool:
35
43
 
36
44
 
37
45
  def get_attention_implementation(config: PretrainedConfig) -> str | None:
38
- model_cls = AutoModelForCausalLM._model_mapping[type(config)]
46
+ model_cls = AutoModel._model_mapping[type(config)]
39
47
  attn_implementation = None
40
48
  if getattr(model_cls, "_supports_sdpa", False):
41
49
  attn_implementation = "sdpa"
@@ -91,13 +99,23 @@ def load_base_model_and_config(
91
99
  else:
92
100
  device_map = "auto"
93
101
 
94
- model = AutoModelForCausalLM.from_pretrained(
102
+ if hasattr(config, "text_config") and hasattr(config, "vision_config"):
103
+ config.text_config.use_cache = use_cache
104
+ config.text_config.attn_implementation = attn_implementation
105
+ auto_model_cls = AutoModelForImageTextToText
106
+ elif hasattr(config, "use_cache"):
107
+ config.use_cache = use_cache
108
+ config.attn_implementation = attn_implementation
109
+ auto_model_cls = AutoModelForCausalLM
110
+ else:
111
+ raise ValueError("Unsupported model")
112
+
113
+ model = auto_model_cls.from_pretrained(
95
114
  model_id_or_path,
96
- torch_dtype=torch_dtype,
97
- attn_implementation=attn_implementation,
98
- use_cache=use_cache,
115
+ config=config,
99
116
  device_map=device_map,
100
117
  quantization_config=quantization_config,
118
+ torch_dtype=torch_dtype,
101
119
  )
102
120
  if quantization_config:
103
121
  # convert all non-kbit layers to float32
@@ -758,15 +758,7 @@ def generate(
758
758
  _LOG.info(f"{gen_column_order=}")
759
759
  if not enable_flexible_generation:
760
760
  # check if resolved column order is the same as the one from training
761
- trn_column_order = [SLEN_SIDX_SDEC_COLUMN] if is_sequential else []
762
- trn_column_order += [
763
- get_argn_name(
764
- argn_processor=tgt_stats["columns"][col][ARGN_PROCESSOR],
765
- argn_table=tgt_stats["columns"][col][ARGN_TABLE],
766
- argn_column=tgt_stats["columns"][col][ARGN_COLUMN],
767
- )
768
- for col in tgt_stats["columns"].keys()
769
- ]
761
+ trn_column_order = get_columns_from_cardinalities(tgt_cardinalities)
770
762
  _LOG.info(f"{trn_column_order=}")
771
763
  if gen_column_order != trn_column_order:
772
764
  raise ValueError(
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "mostlyai-engine"
3
- version = "1.4.6"
3
+ version = "1.4.7"
4
4
  description = "Synthetic Data Engine"
5
5
  authors = [{ name = "MOSTLY AI", email = "dev@mostly.ai" }]
6
6
  requires-python = ">=3.10"
File without changes