Model: jastorj/couchmind-v5.8_rl_cold_start-cw-26K-16bit Source: Original Platform
license, language, tags, base_model
| license | language | tags | base_model | |||||||
|---|---|---|---|---|---|---|---|---|---|---|
| apache-2.0 |
|
|
Snowflake/Arctic-Text2SQL-R1-7B |
Snowflake/Arctic-Text2SQL-R1-7B Fine-tuned for NL2SQL++ v5.8_rl_cold_start
This model is a fine-tuned version of Snowflake/Arctic-Text2SQL-R1-7B on the NL2SQL++ v5.8_rl_cold_start dataset with code-with-thought reasoning.
Model Details
- Base Model: Snowflake/Arctic-Text2SQL-R1-7B
- Task: Text-to-SQL generation
- Dataset: NL2SQL++ v5.8_rl_cold_start with code-with-thought reasoning
- Fine-tuning Method: LoRA (Low-Rank Adaptation) with Unsloth
- Quantization: 16-bit merged weights
- Training Dataset Size: 2104 examples
- Validation Dataset Size: 0 examples
Training Configuration
- output_dir: ./saved_models
- per_device_train_batch_size: 2
- num_train_epochs: 3
- max_steps: -1
- learning_rate: 1e-05
- lr_scheduler_type: SchedulerType.COSINE
- lr_scheduler_kwargs: None
- warmup_steps: 0.1
- optim: OptimizerNames.ADAMW_TORCH_FUSED
- optim_args: None
- weight_decay: 0.01
- adam_beta1: 0.9
- adam_beta2: 0.999
- adam_epsilon: 1e-08
- optim_target_modules: None
- gradient_accumulation_steps: 8
- average_tokens_across_devices: True
- max_grad_norm: 1.0
- label_smoothing_factor: 0.0
- bf16: True
- fp16: False
- bf16_full_eval: True
- fp16_full_eval: False
- tf32: None
- gradient_checkpointing: True
- gradient_checkpointing_kwargs: None
- torch_compile: False
- torch_compile_backend: None
- torch_compile_mode: None
- use_liger_kernel: False
- liger_kernel_config: None
- use_cache: False
- neftune_noise_alpha: None
- torch_empty_cache_steps: None
- auto_find_batch_size: False
- logging_strategy: IntervalStrategy.STEPS
- logging_steps: 3
- logging_first_step: False
- log_on_each_node: True
- logging_nan_inf_filter: True
- include_num_input_tokens_seen: no
- log_level: passive
- log_level_replica: warning
- disable_tqdm: False
- report_to: ['wandb']
- run_name: None
- project: huggingface
- trackio_space_id: trackio
- eval_strategy: IntervalStrategy.STEPS
- eval_steps: 50
- eval_delay: 0
- per_device_eval_batch_size: 5
- prediction_loss_only: False
- eval_on_start: False
- eval_do_concat_batches: True
- eval_use_gather_object: False
- eval_accumulation_steps: 10
- include_for_metrics: []
- batch_eval_metrics: False
- save_only_model: False
- save_strategy: SaveStrategy.BEST
- save_steps: 50
- save_on_each_node: False
- save_total_limit: 1
- enable_jit_checkpoint: False
- push_to_hub: False
- hub_token: None
- hub_private_repo: None
- hub_model_id: None
- hub_strategy: HubStrategy.EVERY_SAVE
- hub_always_push: False
- hub_revision: None
- load_best_model_at_end: True
- metric_for_best_model: eval_exec_accuracy
- greater_is_better: True
- ignore_data_skip: False
- restore_callback_states_from_checkpoint: False
- full_determinism: False
- seed: 42
- data_seed: None
- use_cpu: False
- accelerator_config: AcceleratorConfig(split_batches=False, dispatch_batches=None, even_batches=True, use_seedable_sampler=True, non_blocking=False, gradient_accumulation_kwargs=None, use_configured_state=False)
- parallelism_config: None
- dataloader_drop_last: False
- dataloader_num_workers: 0
- dataloader_pin_memory: True
- dataloader_persistent_workers: False
- dataloader_prefetch_factor: None
- remove_unused_columns: True
- label_names: None
- train_sampling_strategy: random
- length_column_name: length
- ddp_find_unused_parameters: None
- ddp_bucket_cap_mb: None
- ddp_broadcast_buffers: None
- ddp_backend: None
- ddp_timeout: 1800
- fsdp: []
- fsdp_config: {'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False}
- deepspeed: None
- debug: []
- skip_memory_metrics: True
- do_train: False
- do_eval: True
- do_predict: False
- resume_from_checkpoint: None
- warmup_ratio: 0.1
- logging_dir: None
- local_rank: -1
- model_init_kwargs: None
- chat_template_path: None
- dataset_text_field: text
- dataset_kwargs: None
- dataset_num_proc: None
- eos_token: None
- pad_token: None
- max_length: 26000
- packing: False
- packing_strategy: bfd
- padding_free: False
- pad_to_multiple_of: None
- eval_packing: None
- completion_only_loss: None
- assistant_only_loss: False
- loss_type: nll
- activation_offloading: False
- vllm_sampling_params: None
- unsloth_num_chunks: -1
- unsloth_logit_chunk_multiplier: None
- unsloth_grpo_mini_batch: None
- max_seq_length: 26000
- model_name: Snowflake/Arctic-Text2SQL-R1-7B
- model_specs: ModelSpecs(instruction_part='<|im_start|>user', response_part='<|im_start|>assistant', target_modules=['q_proj', 'k_proj', 'v_proj', 'o_proj', 'gate_proj', 'up_proj', 'down_proj'], chat_template=None)
- lora_use_rslora: True
- lora_r: 64
- lora_alpha: 128
- lora_dropout: 0.1
- early_stopping_patience: 5
Train Dataset Example
<|im_start|>system
You are a helpful AI Assistant that provides well-reasoned and detailed responses. You first
think about the reasoning process as an internal monologue and then provide the user with
the answer. Respond in the following format: <think>
...
</think>
<answer>
...
</answer>
<|im_end|>
<|im_start|>user
You are a Couchbase SQL++ query expert. Given a database schema and a natural language question, generate a syntactically valid SQL++ query that precisely answers the question.
Rules:
- SELECT only the columns explicitly asked for — nothing more, nothing less
- Use the exact bucket, scope, and collection names provided in the database schema
Bucket Name:
`nan`
Scope Name:
`nan`
Database Schema:
{}
This schema describes the structure of the data in the specified bucket and scope. It includes information about the collections, fields, and their data types.
Question:
Build the special_flights list with two objects and return the values from each object.
<|im_end|>
<|im_start|>assistant
<think>
I start by noticing there is no schema at all. So this is not a normal “read from a collection” question. There are no buckets, scopes, collections, or existing fields to join together. That means I need to construct the data inline inside the query itself.
The wording is: “Build the special_flights list with two objects and return the values from each object.”
A few pieces matter here.
First, “build the special_flights list” suggests I should create a named list, not just throw an anonymous array into the SELECT. In SQL++ / N1QL, a clean way to do that is a WITH binding. So I want a common expression named special_flights.
Second, it says “with two objects.” So special_flights should be an array containing exactly two object literals.
Since there is no schema, I have to invent the object structure and values myself. The list name special_flights makes flight-oriented fields feel natural. I need a clear identifier for each object, so using a field named flight makes sense. I also want some time-like field; utc is a natural label for that. Then I can add one more descriptive field to each object to make them feel like richer objects rather than just two identical key sets.
Now I need actual literal values. Because these are made-up demo rows, I want them to be memorable and obviously different. For the first one, a flight value like AI444 is easy to recognize, and I can pair it with a matching time-like string 4:44:44. For the extra descriptive field, codename with value green works well. For the second object, I can mirror that pattern with flight AI333 and utc 3:33:33, then use a different status-style key alert with value red. That also shows that the two objects do not have to share every non-core field, which is interesting for an object-values operation.
So the array I am binding to special_flights is two objects:
- one with flight AI444, utc 4:44:44, codename green
- one with flight AI333, utc 3:33:33, alert red
Next I need to “return the values from each object.” I should think about what that means in N1QL terms.
One possibility is to UNNEST the array and call OBJECT_VALUES on each object individually, which would give one row per object. But the question says “build the special_flights list” first, and then “return the values from each object,” which sounds more like operating on the list as a whole rather than exploding it into separate rows. So I lean toward applying an object-values function to the list’s contents directly.
The N1QL function for extracting an object’s values is OBJECT_VALUES. To apply it to the objects inside the array, I need the array-star form special_flights[*]. That notation refers to the objects in the list. Using OBJECT_VALUES on that expression gives me the values drawn from the objects in the list.
Since the SELECT is just returning that one derived expression, I should give it an alias. A name like outer_values fits, because I am returning the values produced from the outer list binding.
There is also no need for a FROM clause, because I am not querying any stored collection; everything comes from the WITH-defined array literal.
So the final shape is: a WITH clause naming special_flights and assigning it the two-object array, then a SELECT that applies OBJECT_VALUES to special_flights[*] and aliases the result as outer_values.
</think>
<answer>
WITH special_flights AS ([{"flight":"AI444","utc":"4:44:44","codename":"green"},{"flight":"AI333","utc":"3:33:33","alert":"red"}]) SELECT OBJECT_VALUES(special_flights[*]) AS outer_values;
</answer>
<|im_end|>
Description
Languages
Jinja
100%