Files
ModelHub XC 940131f457 初始化项目,由ModelHub XC社区提供模型
Model: jastorj/couchmind-v5.8_rl_cold_start-cw-26K-16bit
Source: Original Platform
2026-08-21 01:11:17 +08:00

243 lines
9.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
license: apache-2.0
language:
- en
tags:
- text-to-sql
- code
- sql
- fine-tuned
- unsloth
- lora
base_model: 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](https://huggingface.co/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 lists contents directly.
The N1QL function for extracting an objects 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|>
```