初始化项目,由ModelHub XC社区提供模型
Model: MainStack/marvy-1-14B Source: Original Platform
This commit is contained in:
37
.gitattributes
vendored
Normal file
37
.gitattributes
vendored
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.arrow filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bin filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.ckpt filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.ftz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.h5 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.joblib filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lfs.* filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.mlmodel filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.model filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.msgpack filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.npy filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.npz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.onnx filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.ot filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.parquet filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pb filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pickle filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pkl filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pt filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pth filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.rar filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.safetensors filter=lfs diff=lfs merge=lfs -text
|
||||||
|
saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tar.* filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tar filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tflite filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.wasm filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zst filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
||||||
|
tokenizer.json filter=lfs diff=lfs merge=lfs -text
|
||||||
|
marvy_vs_base_ppl.png filter=lfs diff=lfs merge=lfs -text
|
||||||
28
CITATION.cff
Normal file
28
CITATION.cff
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
cff-version: 1.2.0
|
||||||
|
message: "If you use marvy-1-14B as a baseline, fine-tune it, distill from it, or evaluate against it, please cite this work and credit MainStack."
|
||||||
|
title: "marvy-1-14B: An open fine-tuned model for the full ServiceNow delivery lifecycle"
|
||||||
|
abstract: "marvy-1-14B is an Apache-2.0 fine-tune of Qwen2.5-14B-Instruct specialized for the full ServiceNow delivery lifecycle: business analysis, requirements, stakeholder mapping, systems inventory, solution design documents, user stories, implementation planning, test cases, and validation."
|
||||||
|
type: software
|
||||||
|
authors:
|
||||||
|
- name: "MainStack"
|
||||||
|
website: "https://www.mainstack.co.uk/"
|
||||||
|
url: "https://huggingface.co/MainStack/marvy-1-14B"
|
||||||
|
repository-artifact: "https://huggingface.co/MainStack/marvy-1-14B"
|
||||||
|
version: "1"
|
||||||
|
date-released: "2026-06-01"
|
||||||
|
license: Apache-2.0
|
||||||
|
keywords:
|
||||||
|
- ServiceNow
|
||||||
|
- ITSM
|
||||||
|
- CSDM
|
||||||
|
- solution-design
|
||||||
|
- delivery
|
||||||
|
- qwen2.5
|
||||||
|
- lora
|
||||||
|
references:
|
||||||
|
- type: software
|
||||||
|
title: "Qwen2.5-14B-Instruct"
|
||||||
|
authors:
|
||||||
|
- name: "Qwen Team, Alibaba Cloud"
|
||||||
|
url: "https://huggingface.co/Qwen/Qwen2.5-14B-Instruct"
|
||||||
|
license: Apache-2.0
|
||||||
202
LICENSE
Normal file
202
LICENSE
Normal file
@@ -0,0 +1,202 @@
|
|||||||
|
|
||||||
|
Apache License
|
||||||
|
Version 2.0, January 2004
|
||||||
|
http://www.apache.org/licenses/
|
||||||
|
|
||||||
|
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||||
|
|
||||||
|
1. Definitions.
|
||||||
|
|
||||||
|
"License" shall mean the terms and conditions for use, reproduction,
|
||||||
|
and distribution as defined by Sections 1 through 9 of this document.
|
||||||
|
|
||||||
|
"Licensor" shall mean the copyright owner or entity authorized by
|
||||||
|
the copyright owner that is granting the License.
|
||||||
|
|
||||||
|
"Legal Entity" shall mean the union of the acting entity and all
|
||||||
|
other entities that control, are controlled by, or are under common
|
||||||
|
control with that entity. For the purposes of this definition,
|
||||||
|
"control" means (i) the power, direct or indirect, to cause the
|
||||||
|
direction or management of such entity, whether by contract or
|
||||||
|
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||||
|
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||||
|
|
||||||
|
"You" (or "Your") shall mean an individual or Legal Entity
|
||||||
|
exercising permissions granted by this License.
|
||||||
|
|
||||||
|
"Source" form shall mean the preferred form for making modifications,
|
||||||
|
including but not limited to software source code, documentation
|
||||||
|
source, and configuration files.
|
||||||
|
|
||||||
|
"Object" form shall mean any form resulting from mechanical
|
||||||
|
transformation or translation of a Source form, including but
|
||||||
|
not limited to compiled object code, generated documentation,
|
||||||
|
and conversions to other media types.
|
||||||
|
|
||||||
|
"Work" shall mean the work of authorship, whether in Source or
|
||||||
|
Object form, made available under the License, as indicated by a
|
||||||
|
copyright notice that is included in or attached to the work
|
||||||
|
(an example is provided in the Appendix below).
|
||||||
|
|
||||||
|
"Derivative Works" shall mean any work, whether in Source or Object
|
||||||
|
form, that is based on (or derived from) the Work and for which the
|
||||||
|
editorial revisions, annotations, elaborations, or other modifications
|
||||||
|
represent, as a whole, an original work of authorship. For the purposes
|
||||||
|
of this License, Derivative Works shall not include works that remain
|
||||||
|
separable from, or merely link (or bind by name) to the interfaces of,
|
||||||
|
the Work and Derivative Works thereof.
|
||||||
|
|
||||||
|
"Contribution" shall mean any work of authorship, including
|
||||||
|
the original version of the Work and any modifications or additions
|
||||||
|
to that Work or Derivative Works thereof, that is intentionally
|
||||||
|
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||||
|
or by an individual or Legal Entity authorized to submit on behalf of
|
||||||
|
the copyright owner. For the purposes of this definition, "submitted"
|
||||||
|
means any form of electronic, verbal, or written communication sent
|
||||||
|
to the Licensor or its representatives, including but not limited to
|
||||||
|
communication on electronic mailing lists, source code control systems,
|
||||||
|
and issue tracking systems that are managed by, or on behalf of, the
|
||||||
|
Licensor for the purpose of discussing and improving the Work, but
|
||||||
|
excluding communication that is conspicuously marked or otherwise
|
||||||
|
designated in writing by the copyright owner as "Not a Contribution."
|
||||||
|
|
||||||
|
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||||
|
on behalf of whom a Contribution has been received by Licensor and
|
||||||
|
subsequently incorporated within the Work.
|
||||||
|
|
||||||
|
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||||
|
this License, each Contributor hereby grants to You a perpetual,
|
||||||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
|
copyright license to reproduce, prepare Derivative Works of,
|
||||||
|
publicly display, publicly perform, sublicense, and distribute the
|
||||||
|
Work and such Derivative Works in Source or Object form.
|
||||||
|
|
||||||
|
3. Grant of Patent License. Subject to the terms and conditions of
|
||||||
|
this License, each Contributor hereby grants to You a perpetual,
|
||||||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
|
(except as stated in this section) patent license to make, have made,
|
||||||
|
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||||
|
where such license applies only to those patent claims licensable
|
||||||
|
by such Contributor that are necessarily infringed by their
|
||||||
|
Contribution(s) alone or by combination of their Contribution(s)
|
||||||
|
with the Work to which such Contribution(s) was submitted. If You
|
||||||
|
institute patent litigation against any entity (including a
|
||||||
|
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||||
|
or a Contribution incorporated within the Work constitutes direct
|
||||||
|
or contributory patent infringement, then any patent licenses
|
||||||
|
granted to You under this License for that Work shall terminate
|
||||||
|
as of the date such litigation is filed.
|
||||||
|
|
||||||
|
4. Redistribution. You may reproduce and distribute copies of the
|
||||||
|
Work or Derivative Works thereof in any medium, with or without
|
||||||
|
modifications, and in Source or Object form, provided that You
|
||||||
|
meet the following conditions:
|
||||||
|
|
||||||
|
(a) You must give any other recipients of the Work or
|
||||||
|
Derivative Works a copy of this License; and
|
||||||
|
|
||||||
|
(b) You must cause any modified files to carry prominent notices
|
||||||
|
stating that You changed the files; and
|
||||||
|
|
||||||
|
(c) You must retain, in the Source form of any Derivative Works
|
||||||
|
that You distribute, all copyright, patent, trademark, and
|
||||||
|
attribution notices from the Source form of the Work,
|
||||||
|
excluding those notices that do not pertain to any part of
|
||||||
|
the Derivative Works; and
|
||||||
|
|
||||||
|
(d) If the Work includes a "NOTICE" text file as part of its
|
||||||
|
distribution, then any Derivative Works that You distribute must
|
||||||
|
include a readable copy of the attribution notices contained
|
||||||
|
within such NOTICE file, excluding those notices that do not
|
||||||
|
pertain to any part of the Derivative Works, in at least one
|
||||||
|
of the following places: within a NOTICE text file distributed
|
||||||
|
as part of the Derivative Works; within the Source form or
|
||||||
|
documentation, if provided along with the Derivative Works; or,
|
||||||
|
within a display generated by the Derivative Works, if and
|
||||||
|
wherever such third-party notices normally appear. The contents
|
||||||
|
of the NOTICE file are for informational purposes only and
|
||||||
|
do not modify the License. You may add Your own attribution
|
||||||
|
notices within Derivative Works that You distribute, alongside
|
||||||
|
or as an addendum to the NOTICE text from the Work, provided
|
||||||
|
that such additional attribution notices cannot be construed
|
||||||
|
as modifying the License.
|
||||||
|
|
||||||
|
You may add Your own copyright statement to Your modifications and
|
||||||
|
may provide additional or different license terms and conditions
|
||||||
|
for use, reproduction, or distribution of Your modifications, or
|
||||||
|
for any such Derivative Works as a whole, provided Your use,
|
||||||
|
reproduction, and distribution of the Work otherwise complies with
|
||||||
|
the conditions stated in this License.
|
||||||
|
|
||||||
|
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||||
|
any Contribution intentionally submitted for inclusion in the Work
|
||||||
|
by You to the Licensor shall be under the terms and conditions of
|
||||||
|
this License, without any additional terms or conditions.
|
||||||
|
Notwithstanding the above, nothing herein shall supersede or modify
|
||||||
|
the terms of any separate license agreement you may have executed
|
||||||
|
with Licensor regarding such Contributions.
|
||||||
|
|
||||||
|
6. Trademarks. This License does not grant permission to use the trade
|
||||||
|
names, trademarks, service marks, or product names of the Licensor,
|
||||||
|
except as required for reasonable and customary use in describing the
|
||||||
|
origin of the Work and reproducing the content of the NOTICE file.
|
||||||
|
|
||||||
|
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||||
|
agreed to in writing, Licensor provides the Work (and each
|
||||||
|
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||||
|
implied, including, without limitation, any warranties or conditions
|
||||||
|
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||||
|
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||||
|
appropriateness of using or redistributing the Work and assume any
|
||||||
|
risks associated with Your exercise of permissions under this License.
|
||||||
|
|
||||||
|
8. Limitation of Liability. In no event and under no legal theory,
|
||||||
|
whether in tort (including negligence), contract, or otherwise,
|
||||||
|
unless required by applicable law (such as deliberate and grossly
|
||||||
|
negligent acts) or agreed to in writing, shall any Contributor be
|
||||||
|
liable to You for damages, including any direct, indirect, special,
|
||||||
|
incidental, or consequential damages of any character arising as a
|
||||||
|
result of this License or out of the use or inability to use the
|
||||||
|
Work (including but not limited to damages for loss of goodwill,
|
||||||
|
work stoppage, computer failure or malfunction, or any and all
|
||||||
|
other commercial damages or losses), even if such Contributor
|
||||||
|
has been advised of the possibility of such damages.
|
||||||
|
|
||||||
|
9. Accepting Warranty or Additional Liability. While redistributing
|
||||||
|
the Work or Derivative Works thereof, You may choose to offer,
|
||||||
|
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||||
|
or other liability obligations and/or rights consistent with this
|
||||||
|
License. However, in accepting such obligations, You may act only
|
||||||
|
on Your own behalf and on Your sole responsibility, not on behalf
|
||||||
|
of any other Contributor, and only if You agree to indemnify,
|
||||||
|
defend, and hold each Contributor harmless for any liability
|
||||||
|
incurred by, or claims asserted against, such Contributor by reason
|
||||||
|
of your accepting any such warranty or additional liability.
|
||||||
|
|
||||||
|
END OF TERMS AND CONDITIONS
|
||||||
|
|
||||||
|
APPENDIX: How to apply the Apache License to your work.
|
||||||
|
|
||||||
|
To apply the Apache License to your work, attach the following
|
||||||
|
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||||
|
replaced with your own identifying information. (Don't include
|
||||||
|
the brackets!) The text should be enclosed in the appropriate
|
||||||
|
comment syntax for the file format. We also recommend that a
|
||||||
|
file or class name and description of purpose be included on the
|
||||||
|
same "printed page" as the copyright notice for easier
|
||||||
|
identification within third-party archives.
|
||||||
|
|
||||||
|
Copyright [yyyy] [name of copyright owner]
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
396
LICENSE-CC-BY-4.0
Normal file
396
LICENSE-CC-BY-4.0
Normal file
@@ -0,0 +1,396 @@
|
|||||||
|
Attribution 4.0 International
|
||||||
|
|
||||||
|
=======================================================================
|
||||||
|
|
||||||
|
Creative Commons Corporation ("Creative Commons") is not a law firm and
|
||||||
|
does not provide legal services or legal advice. Distribution of
|
||||||
|
Creative Commons public licenses does not create a lawyer-client or
|
||||||
|
other relationship. Creative Commons makes its licenses and related
|
||||||
|
information available on an "as-is" basis. Creative Commons gives no
|
||||||
|
warranties regarding its licenses, any material licensed under their
|
||||||
|
terms and conditions, or any related information. Creative Commons
|
||||||
|
disclaims all liability for damages resulting from their use to the
|
||||||
|
fullest extent possible.
|
||||||
|
|
||||||
|
Using Creative Commons Public Licenses
|
||||||
|
|
||||||
|
Creative Commons public licenses provide a standard set of terms and
|
||||||
|
conditions that creators and other rights holders may use to share
|
||||||
|
original works of authorship and other material subject to copyright
|
||||||
|
and certain other rights specified in the public license below. The
|
||||||
|
following considerations are for informational purposes only, are not
|
||||||
|
exhaustive, and do not form part of our licenses.
|
||||||
|
|
||||||
|
Considerations for licensors: Our public licenses are
|
||||||
|
intended for use by those authorized to give the public
|
||||||
|
permission to use material in ways otherwise restricted by
|
||||||
|
copyright and certain other rights. Our licenses are
|
||||||
|
irrevocable. Licensors should read and understand the terms
|
||||||
|
and conditions of the license they choose before applying it.
|
||||||
|
Licensors should also secure all rights necessary before
|
||||||
|
applying our licenses so that the public can reuse the
|
||||||
|
material as expected. Licensors should clearly mark any
|
||||||
|
material not subject to the license. This includes other CC-
|
||||||
|
licensed material, or material used under an exception or
|
||||||
|
limitation to copyright. More considerations for licensors:
|
||||||
|
wiki.creativecommons.org/Considerations_for_licensors
|
||||||
|
|
||||||
|
Considerations for the public: By using one of our public
|
||||||
|
licenses, a licensor grants the public permission to use the
|
||||||
|
licensed material under specified terms and conditions. If
|
||||||
|
the licensor's permission is not necessary for any reason--for
|
||||||
|
example, because of any applicable exception or limitation to
|
||||||
|
copyright--then that use is not regulated by the license. Our
|
||||||
|
licenses grant only permissions under copyright and certain
|
||||||
|
other rights that a licensor has authority to grant. Use of
|
||||||
|
the licensed material may still be restricted for other
|
||||||
|
reasons, including because others have copyright or other
|
||||||
|
rights in the material. A licensor may make special requests,
|
||||||
|
such as asking that all changes be marked or described.
|
||||||
|
Although not required by our licenses, you are encouraged to
|
||||||
|
respect those requests where reasonable. More considerations
|
||||||
|
for the public:
|
||||||
|
wiki.creativecommons.org/Considerations_for_licensees
|
||||||
|
|
||||||
|
=======================================================================
|
||||||
|
|
||||||
|
Creative Commons Attribution 4.0 International Public License
|
||||||
|
|
||||||
|
By exercising the Licensed Rights (defined below), You accept and agree
|
||||||
|
to be bound by the terms and conditions of this Creative Commons
|
||||||
|
Attribution 4.0 International Public License ("Public License"). To the
|
||||||
|
extent this Public License may be interpreted as a contract, You are
|
||||||
|
granted the Licensed Rights in consideration of Your acceptance of
|
||||||
|
these terms and conditions, and the Licensor grants You such rights in
|
||||||
|
consideration of benefits the Licensor receives from making the
|
||||||
|
Licensed Material available under these terms and conditions.
|
||||||
|
|
||||||
|
|
||||||
|
Section 1 -- Definitions.
|
||||||
|
|
||||||
|
a. Adapted Material means material subject to Copyright and Similar
|
||||||
|
Rights that is derived from or based upon the Licensed Material
|
||||||
|
and in which the Licensed Material is translated, altered,
|
||||||
|
arranged, transformed, or otherwise modified in a manner requiring
|
||||||
|
permission under the Copyright and Similar Rights held by the
|
||||||
|
Licensor. For purposes of this Public License, where the Licensed
|
||||||
|
Material is a musical work, performance, or sound recording,
|
||||||
|
Adapted Material is always produced where the Licensed Material is
|
||||||
|
synched in timed relation with a moving image.
|
||||||
|
|
||||||
|
b. Adapter's License means the license You apply to Your Copyright
|
||||||
|
and Similar Rights in Your contributions to Adapted Material in
|
||||||
|
accordance with the terms and conditions of this Public License.
|
||||||
|
|
||||||
|
c. Copyright and Similar Rights means copyright and/or similar rights
|
||||||
|
closely related to copyright including, without limitation,
|
||||||
|
performance, broadcast, sound recording, and Sui Generis Database
|
||||||
|
Rights, without regard to how the rights are labeled or
|
||||||
|
categorized. For purposes of this Public License, the rights
|
||||||
|
specified in Section 2(b)(1)-(2) are not Copyright and Similar
|
||||||
|
Rights.
|
||||||
|
|
||||||
|
d. Effective Technological Measures means those measures that, in the
|
||||||
|
absence of proper authority, may not be circumvented under laws
|
||||||
|
fulfilling obligations under Article 11 of the WIPO Copyright
|
||||||
|
Treaty adopted on December 20, 1996, and/or similar international
|
||||||
|
agreements.
|
||||||
|
|
||||||
|
e. Exceptions and Limitations means fair use, fair dealing, and/or
|
||||||
|
any other exception or limitation to Copyright and Similar Rights
|
||||||
|
that applies to Your use of the Licensed Material.
|
||||||
|
|
||||||
|
f. Licensed Material means the artistic or literary work, database,
|
||||||
|
or other material to which the Licensor applied this Public
|
||||||
|
License.
|
||||||
|
|
||||||
|
g. Licensed Rights means the rights granted to You subject to the
|
||||||
|
terms and conditions of this Public License, which are limited to
|
||||||
|
all Copyright and Similar Rights that apply to Your use of the
|
||||||
|
Licensed Material and that the Licensor has authority to license.
|
||||||
|
|
||||||
|
h. Licensor means the individual(s) or entity(ies) granting rights
|
||||||
|
under this Public License.
|
||||||
|
|
||||||
|
i. Share means to provide material to the public by any means or
|
||||||
|
process that requires permission under the Licensed Rights, such
|
||||||
|
as reproduction, public display, public performance, distribution,
|
||||||
|
dissemination, communication, or importation, and to make material
|
||||||
|
available to the public including in ways that members of the
|
||||||
|
public may access the material from a place and at a time
|
||||||
|
individually chosen by them.
|
||||||
|
|
||||||
|
j. Sui Generis Database Rights means rights other than copyright
|
||||||
|
resulting from Directive 96/9/EC of the European Parliament and of
|
||||||
|
the Council of 11 March 1996 on the legal protection of databases,
|
||||||
|
as amended and/or succeeded, as well as other essentially
|
||||||
|
equivalent rights anywhere in the world.
|
||||||
|
|
||||||
|
k. You means the individual or entity exercising the Licensed Rights
|
||||||
|
under this Public License. Your has a corresponding meaning.
|
||||||
|
|
||||||
|
|
||||||
|
Section 2 -- Scope.
|
||||||
|
|
||||||
|
a. License grant.
|
||||||
|
|
||||||
|
1. Subject to the terms and conditions of this Public License,
|
||||||
|
the Licensor hereby grants You a worldwide, royalty-free,
|
||||||
|
non-sublicensable, non-exclusive, irrevocable license to
|
||||||
|
exercise the Licensed Rights in the Licensed Material to:
|
||||||
|
|
||||||
|
a. reproduce and Share the Licensed Material, in whole or
|
||||||
|
in part; and
|
||||||
|
|
||||||
|
b. produce, reproduce, and Share Adapted Material.
|
||||||
|
|
||||||
|
2. Exceptions and Limitations. For the avoidance of doubt, where
|
||||||
|
Exceptions and Limitations apply to Your use, this Public
|
||||||
|
License does not apply, and You do not need to comply with
|
||||||
|
its terms and conditions.
|
||||||
|
|
||||||
|
3. Term. The term of this Public License is specified in Section
|
||||||
|
6(a).
|
||||||
|
|
||||||
|
4. Media and formats; technical modifications allowed. The
|
||||||
|
Licensor authorizes You to exercise the Licensed Rights in
|
||||||
|
all media and formats whether now known or hereafter created,
|
||||||
|
and to make technical modifications necessary to do so. The
|
||||||
|
Licensor waives and/or agrees not to assert any right or
|
||||||
|
authority to forbid You from making technical modifications
|
||||||
|
necessary to exercise the Licensed Rights, including
|
||||||
|
technical modifications necessary to circumvent Effective
|
||||||
|
Technological Measures. For purposes of this Public License,
|
||||||
|
simply making modifications authorized by this Section 2(a)
|
||||||
|
(4) never produces Adapted Material.
|
||||||
|
|
||||||
|
5. Downstream recipients.
|
||||||
|
|
||||||
|
a. Offer from the Licensor -- Licensed Material. Every
|
||||||
|
recipient of the Licensed Material automatically
|
||||||
|
receives an offer from the Licensor to exercise the
|
||||||
|
Licensed Rights under the terms and conditions of this
|
||||||
|
Public License.
|
||||||
|
|
||||||
|
b. No downstream restrictions. You may not offer or impose
|
||||||
|
any additional or different terms or conditions on, or
|
||||||
|
apply any Effective Technological Measures to, the
|
||||||
|
Licensed Material if doing so restricts exercise of the
|
||||||
|
Licensed Rights by any recipient of the Licensed
|
||||||
|
Material.
|
||||||
|
|
||||||
|
6. No endorsement. Nothing in this Public License constitutes or
|
||||||
|
may be construed as permission to assert or imply that You
|
||||||
|
are, or that Your use of the Licensed Material is, connected
|
||||||
|
with, or sponsored, endorsed, or granted official status by,
|
||||||
|
the Licensor or others designated to receive attribution as
|
||||||
|
provided in Section 3(a)(1)(A)(i).
|
||||||
|
|
||||||
|
b. Other rights.
|
||||||
|
|
||||||
|
1. Moral rights, such as the right of integrity, are not
|
||||||
|
licensed under this Public License, nor are publicity,
|
||||||
|
privacy, and/or other similar personality rights; however, to
|
||||||
|
the extent possible, the Licensor waives and/or agrees not to
|
||||||
|
assert any such rights held by the Licensor to the limited
|
||||||
|
extent necessary to allow You to exercise the Licensed
|
||||||
|
Rights, but not otherwise.
|
||||||
|
|
||||||
|
2. Patent and trademark rights are not licensed under this
|
||||||
|
Public License.
|
||||||
|
|
||||||
|
3. To the extent possible, the Licensor waives any right to
|
||||||
|
collect royalties from You for the exercise of the Licensed
|
||||||
|
Rights, whether directly or through a collecting society
|
||||||
|
under any voluntary or waivable statutory or compulsory
|
||||||
|
licensing scheme. In all other cases the Licensor expressly
|
||||||
|
reserves any right to collect such royalties.
|
||||||
|
|
||||||
|
|
||||||
|
Section 3 -- License Conditions.
|
||||||
|
|
||||||
|
Your exercise of the Licensed Rights is expressly made subject to the
|
||||||
|
following conditions.
|
||||||
|
|
||||||
|
a. Attribution.
|
||||||
|
|
||||||
|
1. If You Share the Licensed Material (including in modified
|
||||||
|
form), You must:
|
||||||
|
|
||||||
|
a. retain the following if it is supplied by the Licensor
|
||||||
|
with the Licensed Material:
|
||||||
|
|
||||||
|
i. identification of the creator(s) of the Licensed
|
||||||
|
Material and any others designated to receive
|
||||||
|
attribution, in any reasonable manner requested by
|
||||||
|
the Licensor (including by pseudonym if
|
||||||
|
designated);
|
||||||
|
|
||||||
|
ii. a copyright notice;
|
||||||
|
|
||||||
|
iii. a notice that refers to this Public License;
|
||||||
|
|
||||||
|
iv. a notice that refers to the disclaimer of
|
||||||
|
warranties;
|
||||||
|
|
||||||
|
v. a URI or hyperlink to the Licensed Material to the
|
||||||
|
extent reasonably practicable;
|
||||||
|
|
||||||
|
b. indicate if You modified the Licensed Material and
|
||||||
|
retain an indication of any previous modifications; and
|
||||||
|
|
||||||
|
c. indicate the Licensed Material is licensed under this
|
||||||
|
Public License, and include the text of, or the URI or
|
||||||
|
hyperlink to, this Public License.
|
||||||
|
|
||||||
|
2. You may satisfy the conditions in Section 3(a)(1) in any
|
||||||
|
reasonable manner based on the medium, means, and context in
|
||||||
|
which You Share the Licensed Material. For example, it may be
|
||||||
|
reasonable to satisfy the conditions by providing a URI or
|
||||||
|
hyperlink to a resource that includes the required
|
||||||
|
information.
|
||||||
|
|
||||||
|
3. If requested by the Licensor, You must remove any of the
|
||||||
|
information required by Section 3(a)(1)(A) to the extent
|
||||||
|
reasonably practicable.
|
||||||
|
|
||||||
|
4. If You Share Adapted Material You produce, the Adapter's
|
||||||
|
License You apply must not prevent recipients of the Adapted
|
||||||
|
Material from complying with this Public License.
|
||||||
|
|
||||||
|
|
||||||
|
Section 4 -- Sui Generis Database Rights.
|
||||||
|
|
||||||
|
Where the Licensed Rights include Sui Generis Database Rights that
|
||||||
|
apply to Your use of the Licensed Material:
|
||||||
|
|
||||||
|
a. for the avoidance of doubt, Section 2(a)(1) grants You the right
|
||||||
|
to extract, reuse, reproduce, and Share all or a substantial
|
||||||
|
portion of the contents of the database;
|
||||||
|
|
||||||
|
b. if You include all or a substantial portion of the database
|
||||||
|
contents in a database in which You have Sui Generis Database
|
||||||
|
Rights, then the database in which You have Sui Generis Database
|
||||||
|
Rights (but not its individual contents) is Adapted Material; and
|
||||||
|
|
||||||
|
c. You must comply with the conditions in Section 3(a) if You Share
|
||||||
|
all or a substantial portion of the contents of the database.
|
||||||
|
|
||||||
|
For the avoidance of doubt, this Section 4 supplements and does not
|
||||||
|
replace Your obligations under this Public License where the Licensed
|
||||||
|
Rights include other Copyright and Similar Rights.
|
||||||
|
|
||||||
|
|
||||||
|
Section 5 -- Disclaimer of Warranties and Limitation of Liability.
|
||||||
|
|
||||||
|
a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE
|
||||||
|
EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS
|
||||||
|
AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF
|
||||||
|
ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS,
|
||||||
|
IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION,
|
||||||
|
WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR
|
||||||
|
PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS,
|
||||||
|
ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT
|
||||||
|
KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT
|
||||||
|
ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU.
|
||||||
|
|
||||||
|
b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE
|
||||||
|
TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION,
|
||||||
|
NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT,
|
||||||
|
INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES,
|
||||||
|
COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR
|
||||||
|
USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN
|
||||||
|
ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR
|
||||||
|
DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR
|
||||||
|
IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.
|
||||||
|
|
||||||
|
c. The disclaimer of warranties and limitation of liability provided
|
||||||
|
above shall be interpreted in a manner that, to the extent
|
||||||
|
possible, most closely approximates an absolute disclaimer and
|
||||||
|
waiver of all liability.
|
||||||
|
|
||||||
|
|
||||||
|
Section 6 -- Term and Termination.
|
||||||
|
|
||||||
|
a. This Public License applies for the term of the Copyright and
|
||||||
|
Similar Rights licensed here. However, if You fail to comply with
|
||||||
|
this Public License, then Your rights under this Public License
|
||||||
|
terminate automatically.
|
||||||
|
|
||||||
|
b. Where Your right to use the Licensed Material has terminated under
|
||||||
|
Section 6(a), it reinstates:
|
||||||
|
|
||||||
|
1. automatically as of the date the violation is cured, provided
|
||||||
|
it is cured within 30 days of Your discovery of the
|
||||||
|
violation; or
|
||||||
|
|
||||||
|
2. upon express reinstatement by the Licensor.
|
||||||
|
|
||||||
|
For the avoidance of doubt, this Section 6(b) does not affect any
|
||||||
|
right the Licensor may have to seek remedies for Your violations
|
||||||
|
of this Public License.
|
||||||
|
|
||||||
|
c. For the avoidance of doubt, the Licensor may also offer the
|
||||||
|
Licensed Material under separate terms or conditions or stop
|
||||||
|
distributing the Licensed Material at any time; however, doing so
|
||||||
|
will not terminate this Public License.
|
||||||
|
|
||||||
|
d. Sections 1, 5, 6, 7, and 8 survive termination of this Public
|
||||||
|
License.
|
||||||
|
|
||||||
|
|
||||||
|
Section 7 -- Other Terms and Conditions.
|
||||||
|
|
||||||
|
a. The Licensor shall not be bound by any additional or different
|
||||||
|
terms or conditions communicated by You unless expressly agreed.
|
||||||
|
|
||||||
|
b. Any arrangements, understandings, or agreements regarding the
|
||||||
|
Licensed Material not stated herein are separate from and
|
||||||
|
independent of the terms and conditions of this Public License.
|
||||||
|
|
||||||
|
|
||||||
|
Section 8 -- Interpretation.
|
||||||
|
|
||||||
|
a. For the avoidance of doubt, this Public License does not, and
|
||||||
|
shall not be interpreted to, reduce, limit, restrict, or impose
|
||||||
|
conditions on any use of the Licensed Material that could lawfully
|
||||||
|
be made without permission under this Public License.
|
||||||
|
|
||||||
|
b. To the extent possible, if any provision of this Public License is
|
||||||
|
deemed unenforceable, it shall be automatically reformed to the
|
||||||
|
minimum extent necessary to make it enforceable. If the provision
|
||||||
|
cannot be reformed, it shall be severed from this Public License
|
||||||
|
without affecting the enforceability of the remaining terms and
|
||||||
|
conditions.
|
||||||
|
|
||||||
|
c. No term or condition of this Public License will be waived and no
|
||||||
|
failure to comply consented to unless expressly agreed to by the
|
||||||
|
Licensor.
|
||||||
|
|
||||||
|
d. Nothing in this Public License constitutes or may be interpreted
|
||||||
|
as a limitation upon, or waiver of, any privileges and immunities
|
||||||
|
that apply to the Licensor or You, including from the legal
|
||||||
|
processes of any jurisdiction or authority.
|
||||||
|
|
||||||
|
|
||||||
|
=======================================================================
|
||||||
|
|
||||||
|
Creative Commons is not a party to its public
|
||||||
|
licenses. Notwithstanding, Creative Commons may elect to apply one of
|
||||||
|
its public licenses to material it publishes and in those instances
|
||||||
|
will be considered the “Licensor.” The text of the Creative Commons
|
||||||
|
public licenses is dedicated to the public domain under the CC0 Public
|
||||||
|
Domain Dedication. Except for the limited purpose of indicating that
|
||||||
|
material is shared under a Creative Commons public license or as
|
||||||
|
otherwise permitted by the Creative Commons policies published at
|
||||||
|
creativecommons.org/policies, Creative Commons does not authorize the
|
||||||
|
use of the trademark "Creative Commons" or any other trademark or logo
|
||||||
|
of Creative Commons without its prior written consent including,
|
||||||
|
without limitation, in connection with any unauthorized modifications
|
||||||
|
to any of its public licenses or any other arrangements,
|
||||||
|
understandings, or agreements concerning use of licensed material. For
|
||||||
|
the avoidance of doubt, this paragraph does not form part of the
|
||||||
|
public licenses.
|
||||||
|
|
||||||
|
Creative Commons may be contacted at creativecommons.org.
|
||||||
|
|
||||||
47
LICENSING.md
Normal file
47
LICENSING.md
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
# Licensing — marvy-1-14B
|
||||||
|
|
||||||
|
marvy-1-14B uses a **layered (dual) license** that reflects what is built on top
|
||||||
|
of an upstream open model versus what MainStack authored.
|
||||||
|
|
||||||
|
| Component | License | What it covers |
|
||||||
|
|---|---|---|
|
||||||
|
| **Model weights** (`*.safetensors`, GGUF quants, LoRA adapter) | **Apache-2.0** | The fine-tuned weights. These are a derivative of Qwen2.5-14B-Instruct (Apache-2.0); per that license they remain Apache-2.0 and free to use, modify, and redistribute. |
|
||||||
|
| **MainStack original contributions** | **CC-BY-4.0** | The model cards, documentation (`USAGE.md`, `VALIDATION.md`, benchmark), the benchmark charts, the curated training-data methodology, and the pipeline framing authored by MainStack. |
|
||||||
|
|
||||||
|
## What this means in practice
|
||||||
|
|
||||||
|
### You may (under Apache-2.0, for the weights)
|
||||||
|
- Use marvy-1-14B commercially, privately, or in research.
|
||||||
|
- Fine-tune, distill, quantize, merge, or otherwise build on the weights.
|
||||||
|
- Redistribute the weights, including modified versions.
|
||||||
|
|
||||||
|
…provided you **retain the `NOTICE` file** in derivatives and redistributions
|
||||||
|
(Apache-2.0 §4(d) — this is mandatory and carries the attribution request).
|
||||||
|
|
||||||
|
### You must (under CC-BY-4.0, for our contributions)
|
||||||
|
If you reuse MainStack's **documentation, model cards, benchmark, or charts** —
|
||||||
|
e.g. copying our eval methodology, reproducing our charts, or lifting card text
|
||||||
|
into your own model — you must give **attribution**: credit "MainStack" and link
|
||||||
|
to https://huggingface.co/MainStack/marvy-1-14B. This is a binding condition of
|
||||||
|
CC-BY-4.0, not just a request.
|
||||||
|
|
||||||
|
### We ask (attribution for the model)
|
||||||
|
If you use marvy-1-14B **as a baseline, a starting point for your own fine-tune,
|
||||||
|
a distillation source, or an evaluation comparison**, please credit MainStack
|
||||||
|
and cite the entry in the model card. See `NOTICE` and the card's Citation
|
||||||
|
section.
|
||||||
|
|
||||||
|
## Why the weights can't be more restricted
|
||||||
|
|
||||||
|
Qwen2.5-14B-Instruct is released under Apache-2.0, which grants every recipient
|
||||||
|
an irrevocable, royalty-free right to use and redistribute. A fine-tune cannot
|
||||||
|
revoke those rights on the resulting weights. MainStack's protection therefore
|
||||||
|
lives where it legally can: (1) the CC-BY-4.0 license on our **own** authored
|
||||||
|
materials, and (2) the Apache-2.0 **NOTICE** that must travel with the weights.
|
||||||
|
|
||||||
|
## Files
|
||||||
|
- `LICENSE` — Apache-2.0 (governs the weights; inherited from the base model).
|
||||||
|
- `LICENSE-CC-BY-4.0` — CC-BY-4.0 (governs MainStack's documentation and other
|
||||||
|
original contributions).
|
||||||
|
- `NOTICE` — required attribution notices (retain in derivatives).
|
||||||
|
- `CITATION.cff` — citation metadata.
|
||||||
80
NOTICE
Normal file
80
NOTICE
Normal file
@@ -0,0 +1,80 @@
|
|||||||
|
marvy-1-14B
|
||||||
|
Copyright 2026 MainStack
|
||||||
|
|
||||||
|
This product is licensed under the Apache License, Version 2.0 (the "License").
|
||||||
|
You may obtain a copy of the License in the accompanying LICENSE file or at:
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
================================================================================
|
||||||
|
Attribution request (downstream use)
|
||||||
|
================================================================================
|
||||||
|
|
||||||
|
marvy-1-14B was created by MainStack (https://huggingface.co/MainStack).
|
||||||
|
|
||||||
|
If you use marvy-1-14B as a baseline, fine-tune it, distill from it, evaluate
|
||||||
|
against it, or otherwise build on it, please credit MainStack and link to:
|
||||||
|
|
||||||
|
https://huggingface.co/MainStack/marvy-1-14B
|
||||||
|
|
||||||
|
Under the Apache License, Version 2.0, this NOTICE file MUST be retained and
|
||||||
|
reproduced in any derivative works and redistributions (License §4(d)).
|
||||||
|
|
||||||
|
================================================================================
|
||||||
|
Dual licensing
|
||||||
|
================================================================================
|
||||||
|
|
||||||
|
* Model weights (safetensors / GGUF / LoRA adapter): Apache-2.0 (LICENSE).
|
||||||
|
* MainStack original contributions — model cards, documentation, benchmark,
|
||||||
|
charts, and curated training methodology: CC-BY-4.0 (LICENSE-CC-BY-4.0).
|
||||||
|
|
||||||
|
Reuse of MainStack's contributions requires attribution to MainStack under the
|
||||||
|
terms of CC-BY-4.0. See LICENSING.md for the full breakdown.
|
||||||
|
|
||||||
|
================================================================================
|
||||||
|
Attribution
|
||||||
|
================================================================================
|
||||||
|
|
||||||
|
marvy-1-14B is a fine-tuned derivative of:
|
||||||
|
|
||||||
|
Qwen2.5-14B-Instruct
|
||||||
|
Copyright Alibaba Cloud / Qwen Team
|
||||||
|
Licensed under the Apache License, Version 2.0
|
||||||
|
https://huggingface.co/Qwen/Qwen2.5-14B-Instruct
|
||||||
|
|
||||||
|
The base model weights are the property of their respective authors and are
|
||||||
|
used and redistributed in modified (fine-tuned) form under the terms of the
|
||||||
|
Apache License, Version 2.0.
|
||||||
|
|
||||||
|
Citation for the base model:
|
||||||
|
|
||||||
|
@misc{qwen2.5,
|
||||||
|
title = {Qwen2.5: A Party of Foundation Models},
|
||||||
|
author = {Qwen Team},
|
||||||
|
year = {2024},
|
||||||
|
url = {https://qwenlm.github.io/blog/qwen2.5/}
|
||||||
|
}
|
||||||
|
|
||||||
|
@article{qwen2,
|
||||||
|
title = {Qwen2 Technical Report},
|
||||||
|
author = {Qwen Team},
|
||||||
|
journal= {arXiv preprint arXiv:2407.10671},
|
||||||
|
year = {2024}
|
||||||
|
}
|
||||||
|
|
||||||
|
================================================================================
|
||||||
|
Tooling
|
||||||
|
================================================================================
|
||||||
|
|
||||||
|
Trained and fused with MLX-LM (https://github.com/ml-explore/mlx-lm),
|
||||||
|
Copyright Apple Inc., licensed under the MIT License.
|
||||||
|
|
||||||
|
================================================================================
|
||||||
|
Training data provenance
|
||||||
|
================================================================================
|
||||||
|
|
||||||
|
marvy-1-14B was fine-tuned on a corpus of anonymized ServiceNow delivery
|
||||||
|
artifacts. All customer and partner names were replaced with stable aliases,
|
||||||
|
and emails, hostnames, IP addresses, and credential-bearing files were removed
|
||||||
|
or redacted prior to training. No customer-identifying information is present
|
||||||
|
in the training corpus. See the model card for the full redaction methodology.
|
||||||
350
README.md
Normal file
350
README.md
Normal file
@@ -0,0 +1,350 @@
|
|||||||
|
---
|
||||||
|
license: apache-2.0
|
||||||
|
base_model: Qwen/Qwen2.5-14B-Instruct
|
||||||
|
base_model_relation: finetune
|
||||||
|
library_name: transformers
|
||||||
|
pipeline_tag: text-generation
|
||||||
|
language:
|
||||||
|
- en
|
||||||
|
tags:
|
||||||
|
- servicenow
|
||||||
|
- itsm
|
||||||
|
- csdm
|
||||||
|
- itom
|
||||||
|
- delivery
|
||||||
|
- solution-design
|
||||||
|
- user-stories
|
||||||
|
- business-analysis
|
||||||
|
- qwen2.5
|
||||||
|
- lora
|
||||||
|
- sft
|
||||||
|
- mlx
|
||||||
|
model-index:
|
||||||
|
- name: marvy-1-14B
|
||||||
|
results:
|
||||||
|
- task:
|
||||||
|
type: text-generation
|
||||||
|
name: Text Generation
|
||||||
|
dataset:
|
||||||
|
type: custom
|
||||||
|
name: ServiceNow Delivery SFT (project-disjoint test split)
|
||||||
|
metrics:
|
||||||
|
- type: perplexity
|
||||||
|
value: 13.107
|
||||||
|
name: Test perplexity
|
||||||
|
- type: loss
|
||||||
|
value: 2.573
|
||||||
|
name: Test cross-entropy loss
|
||||||
|
---
|
||||||
|
|
||||||
|
# marvy-1-14B
|
||||||
|
|
||||||
|
**The first open, fine-tuned LLM for the full ServiceNow delivery lifecycle — from business analysis to validation.**
|
||||||
|
|
||||||
|
marvy-1-14B is an open-source language model fine-tuned for the complete ServiceNow delivery lifecycle: business analysis, requirements, stakeholder mapping, systems inventory, Solution Design Documents, user stories with acceptance criteria, implementation planning, test cases, and validation. Where general-purpose models treat ServiceNow as one topic among many, marvy is built to draft the actual artifacts a delivery team produces — in the structure and sequence real engagements follow. It is a first-draft specialist, not a consultant replacement, and it is not an agentic or tool-use fine-tune.
|
||||||
|
|
||||||
|
It was built by [MainStack](https://huggingface.co/MainStack), a consultancy specializing in ServiceNow Agentic Delivery. marvy is a LoRA SFT fine-tune of [Qwen2.5-14B-Instruct](https://huggingface.co/Qwen/Qwen2.5-14B-Instruct) (Apache-2.0), trained on ~1,958 anonymized artifacts from real engagements (~887k tokens), rigorously redacted to zero residual PII per an automated leakage scanner. Its test perplexity of 13.107 was measured on a project- and customer-disjoint held-out split — the model generalizes to unseen work rather than memorizing the training set.
|
||||||
|
|
||||||
|
> Released under **Apache-2.0**. Built with Qwen — see `NOTICE`.
|
||||||
|
|
||||||
|
## Why marvy-1-14B
|
||||||
|
|
||||||
|
- **Drafts the full lifecycle, not just snippets.** Business analysis through validation — the artifacts and sequence real delivery teams actually work in.
|
||||||
|
- **OOTB-first and implementation-grade.** Tuned to favor out-of-the-box correctness and produce drafts you can review, not rewrite.
|
||||||
|
- **Runs locally and privately.** Merged FP16, a LoRA adapter, and GGUF quants — run it on Apple Silicon via LM Studio or Ollama, with your engagement data never leaving your machine.
|
||||||
|
- **Trained on real, anonymized delivery work.** ~1,958 redacted engagement artifacts (~887k tokens), with zero residual PII verified by an automated leakage scanner.
|
||||||
|
- **Open and Apache-2.0.** Built on Qwen2.5-14B-Instruct — inspect it, fine-tune it, and deploy it on your own terms.
|
||||||
|
|
||||||
|
📖 **Full docs:** [`USAGE.md`](./USAGE.md) (every runtime + OpenCode wiring) ·
|
||||||
|
[`VALIDATION.md`](./VALIDATION.md) (prove the fine-tune works) ·
|
||||||
|
[`validate.sh`](./validate.sh) (one-command probe harness)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Quick start
|
||||||
|
|
||||||
|
### Transformers
|
||||||
|
|
||||||
|
```python
|
||||||
|
from transformers import AutoTokenizer, AutoModelForCausalLM
|
||||||
|
|
||||||
|
model_id = "MainStack/marvy-1-14B"
|
||||||
|
tok = AutoTokenizer.from_pretrained(model_id)
|
||||||
|
model = AutoModelForCausalLM.from_pretrained(model_id, torch_dtype="auto", device_map="auto")
|
||||||
|
|
||||||
|
SYSTEM = (
|
||||||
|
"You are a senior ServiceNow delivery consultant. You produce precise, "
|
||||||
|
"implementation-grade artifacts: business analyses, requirements, solution "
|
||||||
|
"design documents, user stories with acceptance criteria, test cases, and "
|
||||||
|
"validation reviews. You favor out-of-the-box capabilities, cite concrete "
|
||||||
|
"tables/plugins/sys_ids when relevant, and write in clear professional English."
|
||||||
|
)
|
||||||
|
|
||||||
|
messages = [
|
||||||
|
{"role": "system", "content": SYSTEM},
|
||||||
|
{"role": "user", "content": "Write a ServiceNow user story with acceptance criteria for SLA escalation on P1 incidents."},
|
||||||
|
]
|
||||||
|
inputs = tok.apply_chat_template(messages, add_generation_prompt=True, return_tensors="pt").to(model.device)
|
||||||
|
out = model.generate(inputs, max_new_tokens=1024, temperature=0.4)
|
||||||
|
print(tok.decode(out[0][inputs.shape[-1]:], skip_special_tokens=True))
|
||||||
|
```
|
||||||
|
|
||||||
|
### vLLM
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pip install vllm
|
||||||
|
vllm serve MainStack/marvy-1-14B
|
||||||
|
```
|
||||||
|
|
||||||
|
### Ollama (via GGUF)
|
||||||
|
|
||||||
|
Use the companion repo [`MainStack/marvy-1-14B-GGUF`](https://huggingface.co/MainStack/marvy-1-14B-GGUF):
|
||||||
|
|
||||||
|
```bash
|
||||||
|
ollama run hf.co/MainStack/marvy-1-14B-GGUF:Q4_K_M
|
||||||
|
```
|
||||||
|
|
||||||
|
### MLX (Apple Silicon native)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pip install mlx-lm
|
||||||
|
python -m mlx_lm generate --model MainStack/marvy-1-14B \
|
||||||
|
--system-prompt "You are a senior ServiceNow delivery consultant..." \
|
||||||
|
--prompt "Draft the Platform Architecture section of an ITSM SDD." \
|
||||||
|
--max-tokens 1024 --temp 0.4
|
||||||
|
```
|
||||||
|
|
||||||
|
### LoRA-only (apply on top of the base)
|
||||||
|
|
||||||
|
If you prefer a tiny adapter (~175 MB) on top of the BF16 base, see [`MainStack/marvy-1-14B-lora`](https://huggingface.co/MainStack/marvy-1-14B-lora).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Intended use
|
||||||
|
|
||||||
|
marvy-1-14B is designed to produce implementation-grade first drafts across the ServiceNow delivery lifecycle — accelerating the artifacts a practitioner would otherwise write from scratch, then review and refine. Built for solution architects, business analysts, technical consultants, and project managers. Typical tasks:
|
||||||
|
|
||||||
|
| Task family | What it produces |
|
||||||
|
|------------------------|---------------------------------------------------------------------------------|
|
||||||
|
| `business_analysis` | Structured BA reports from SOWs / discovery notes |
|
||||||
|
| `requirements_extraction` | Functional/non-functional requirements with acceptance bullets |
|
||||||
|
| `stakeholder_mapping` | RACI / influence-interest grids from raw notes |
|
||||||
|
| `systems_inventory` | CMDB-shaped systems inventories from architecture inputs |
|
||||||
|
| `sdd_design` | Solution Design Document sections (architecture, integrations, data model) |
|
||||||
|
| `story_authoring` | User stories with crisp acceptance criteria |
|
||||||
|
| `implementation_planning` | Story-level implementation plans citing tables/plugins |
|
||||||
|
| `test_case_generation` | Test cases per story, mapped to acceptance criteria |
|
||||||
|
| `validation_critique` | Gap analysis, follow-up questions, assumption checks against source docs |
|
||||||
|
| `delivery_chain` | Multi-turn: story → implementation → test, end-to-end |
|
||||||
|
|
||||||
|
### Recommended system prompt
|
||||||
|
|
||||||
|
```
|
||||||
|
You are a senior ServiceNow delivery consultant. You produce precise, implementation-grade
|
||||||
|
artifacts: business analyses, requirements, solution design documents, user stories with
|
||||||
|
acceptance criteria, test cases, and validation reviews. You favor out-of-the-box
|
||||||
|
capabilities, cite concrete tables/plugins/sys_ids when relevant, and write in clear
|
||||||
|
professional English.
|
||||||
|
```
|
||||||
|
|
||||||
|
### Recommended generation settings
|
||||||
|
|
||||||
|
| Use case | temperature | top_p | max_new_tokens |
|
||||||
|
|-----------------------------|-------------|-------|----------------|
|
||||||
|
| Structured artifacts (SDD, stories) | 0.3 – 0.5 | 0.9 | 1024 – 4096 |
|
||||||
|
| Exploratory brainstorming | 0.7 – 0.9 | 0.95 | 1024 |
|
||||||
|
| Validation / critique | 0.2 – 0.4 | 0.9 | 1024 – 2048 |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Training data
|
||||||
|
|
||||||
|
> **The training dataset is proprietary to MainStack and is not publicly
|
||||||
|
> released.** It is derived from confidential, anonymized client engagement
|
||||||
|
> artifacts. The statistics below describe the corpus for transparency; the data
|
||||||
|
> itself is not distributed with the model.
|
||||||
|
|
||||||
|
| Item | Value |
|
||||||
|
|---|---|
|
||||||
|
| Source | Anonymized real engagement artifacts (`.md`, `.csv`, `.json`, `.mmd`, `.txt`) |
|
||||||
|
| Availability | **Proprietary — not released** |
|
||||||
|
| Total records | **1,958** (after schema + exact-dedupe) |
|
||||||
|
| Estimated tokens | **~887k** |
|
||||||
|
| Splits (project-disjoint) | train 1,359 · val 347 · test 252 |
|
||||||
|
| Tasks | 11 task families (see table above) |
|
||||||
|
| Multi-turn share | `delivery_chain` (158 records) — story→implementation→test |
|
||||||
|
|
||||||
|
### Privacy & redaction
|
||||||
|
|
||||||
|
- All customer/partner names → stable aliases (e.g. `Customer-FIN-03`, `Customer-ENERGY-01`).
|
||||||
|
- Emails → `user@example.com`; hostnames → `instance.example.service-now.com`; IPs → RFC 5737 range; `key: value` secrets → `[REDACTED]`.
|
||||||
|
- Credential/login/VPN files excluded entirely; bulk CMDB dumps >1.5 MB excluded.
|
||||||
|
- ServiceNow `sys_id`s and table/plugin names preserved (instance-local, technically valuable, low risk).
|
||||||
|
- A leakage scanner asserts **0** residual emails, hostnames, or mapped real names in message content.
|
||||||
|
|
||||||
|
### Split integrity
|
||||||
|
|
||||||
|
Train / val / test are split **by project**, so no customer appears in more than one split. The largest project is forced into `train` to keep eval honest:
|
||||||
|
- val projects: `Customer-ENERGY-01`
|
||||||
|
- test projects: `Customer-CHEM-01`, `Customer-FININST-01`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Training procedure
|
||||||
|
|
||||||
|
| Setting | Value |
|
||||||
|
|---|---|
|
||||||
|
| Method | LoRA SFT (QLoRA-style: LoRA on 4-bit base) |
|
||||||
|
| Base model | `mlx-community/Qwen2.5-14B-Instruct-4bit` (training) → fused onto `Qwen/Qwen2.5-14B-Instruct` BF16 (release) |
|
||||||
|
| Framework | [MLX-LM](https://github.com/ml-explore/mlx-lm) 0.31.3 |
|
||||||
|
| Hardware | Apple Silicon (M-series), Metal |
|
||||||
|
| Max sequence length | 8,192 |
|
||||||
|
| Batch size / grad accum | 1 / 16 (effective batch 16) |
|
||||||
|
| Iterations | 350 (~4 epochs over 1,359 train records) |
|
||||||
|
| Optimizer | AdamW, cosine decay, warmup 20, lr 1e-4 → 1e-6 |
|
||||||
|
| LoRA rank / scale / dropout | 32 / 20.0 / 0.0 |
|
||||||
|
| LoRA target keys | `q_proj`, `k_proj`, `v_proj`, `o_proj`, `gate_proj`, `up_proj`, `down_proj` |
|
||||||
|
| Adapted layers | top 16 transformer layers |
|
||||||
|
| Prompt masking | yes — loss computed only on assistant turns |
|
||||||
|
| Seed | 42 |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Evaluation
|
||||||
|
|
||||||
|
### Fine-tuned vs. base — efficiency on the held-out test set
|
||||||
|
|
||||||
|
The cleanest measure of the fine-tune's value is to score the **same base
|
||||||
|
model twice** — plain vs. with the marvy adapter — on the **project-disjoint**
|
||||||
|
test split (252 records from two customers never seen in training/val), using
|
||||||
|
per-token cross-entropy/perplexity on the **assistant tokens only**
|
||||||
|
(prompt-masked, the same objective used in training). Lower perplexity = the
|
||||||
|
model assigns higher probability to the real, human-authored delivery artifact.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
**Overall: perplexity 8.91 → 6.03, a 32.3% reduction** on unseen customers.
|
||||||
|
|
||||||
|
| Task | Base ppl | marvy-1-14B ppl | Improvement |
|
||||||
|
|---|---:|---:|---:|
|
||||||
|
| Systems inventory | 77.07 | 10.53 | **−86.3%** |
|
||||||
|
| Requirements extraction | 46.76 | 9.39 | **−79.9%** |
|
||||||
|
| Stakeholder mapping | 27.81 | 6.91 | **−75.2%** |
|
||||||
|
| Story authoring | 15.38 | 7.86 | **−48.9%** |
|
||||||
|
| Validation / critique | 9.72 | 8.23 | −15.3% |
|
||||||
|
| Business analysis | 7.14 | 6.66 | −6.6% |
|
||||||
|
| SDD design | 4.48 | 4.40 | −1.7% |
|
||||||
|
| **Overall** | **8.91** | **6.03** | **−32.3%** |
|
||||||
|
|
||||||
|
The gains are largest on **structured, format-heavy artifacts** (inventories,
|
||||||
|
requirements, stakeholder registers, stories) where the base model wanders from
|
||||||
|
the expected schema; they are smaller on long-form prose (SDD sections, business
|
||||||
|
analysis) where the base was already competent. This is the honest, expected
|
||||||
|
shape of a domain SFT.
|
||||||
|
|
||||||
|
> Notes: the test customers (`Customer-CHEM-01`, `Customer-FININST-01`) appear in
|
||||||
|
> neither train nor val, so this reflects generalization, not memorization. The
|
||||||
|
> test split happens to cover 7 of the 11 task families. An earlier MLX
|
||||||
|
> batch-eval reported aggregate ppl ≈ 13.1 with 2,048-token truncation; the
|
||||||
|
> figures above recompute per-task with full assistant-token masking, so the
|
||||||
|
> base-vs-marvy **delta** is the result of interest.
|
||||||
|
|
||||||
|
Reproduce it yourself: `bash benchmark/run_benchmark.sh` (see
|
||||||
|
[`VALIDATION.md`](./VALIDATION.md) for qualitative probes too).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Limitations & known issues
|
||||||
|
|
||||||
|
- **Text-only sources.** SOWs/SDDs/workbooks in `.docx/.pptx/.pdf/.xlsx` are not parsed in this build. Coverage of binary-only engagements is therefore thin.
|
||||||
|
- **Project concentration.** ~95% of records come from ~12 data-rich projects; the long tail contributes a single case study each. Some task families (e.g. `case_study`, `validation_critique`) are smaller and may exhibit higher variance.
|
||||||
|
- **Synthetic instructions.** User prompts are templated paraphrases (3–5 variants per task); assistant outputs are the original human-authored artifacts.
|
||||||
|
- **English-only.** The corpus is English.
|
||||||
|
- **Not a replacement for a consultant.** Output is first-draft, implementation-grade content that requires expert review before client delivery or production use.
|
||||||
|
- **No tool use / function calling fine-tune.** `marvy-1-14B` is a text-completion specialist; agentic tool use is left to the orchestrator.
|
||||||
|
- **Hallucination risk on instance-specific facts.** The model will confidently invent `sys_id`s, plugin IDs, and table fields if asked about specifics it has not seen. Always verify against an actual ServiceNow instance.
|
||||||
|
- **No safety fine-tune beyond the base.** Inherits Qwen2.5-14B-Instruct safety behavior; no additional RLHF.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
marvy-1-14B is **dual-licensed** — see [`LICENSING.md`](./LICENSING.md) for the full breakdown:
|
||||||
|
|
||||||
|
| Component | License |
|
||||||
|
|---|---|
|
||||||
|
| **Model weights** (safetensors / GGUF / LoRA) | **Apache-2.0** (`LICENSE`) — inherited from the Qwen2.5-14B-Instruct base; free to use, fine-tune, and redistribute, with `NOTICE` retained. |
|
||||||
|
| **MainStack contributions** (model cards, docs, benchmark, charts, training methodology) | **CC-BY-4.0** (`LICENSE-CC-BY-4.0`) — reuse requires attribution to MainStack. |
|
||||||
|
|
||||||
|
The model weights are a derivative of **Qwen2.5-14B-Instruct** (Apache-2.0).
|
||||||
|
Per Apache-2.0, the weights cannot be placed under a more restrictive license;
|
||||||
|
MainStack's protection is the CC-BY-4.0 license on our own authored materials
|
||||||
|
plus the mandatory `NOTICE` retention. See `NOTICE` for attribution.
|
||||||
|
|
||||||
|
## Attribution
|
||||||
|
|
||||||
|
`marvy-1-14B` is free to use, fine-tune, and redistribute under Apache-2.0.
|
||||||
|
**If you use marvy-1-14B as a baseline, fine-tune it, distill from it, evaluate
|
||||||
|
against it, or otherwise build on it, please credit MainStack** and link back to
|
||||||
|
this model:
|
||||||
|
|
||||||
|
> Built on / evaluated against **marvy-1-14B** by **MainStack** —
|
||||||
|
> https://huggingface.co/MainStack/marvy-1-14B
|
||||||
|
|
||||||
|
Concretely, we ask that derivatives and comparisons:
|
||||||
|
|
||||||
|
- keep the `NOTICE` file intact (this is **required** by Apache-2.0 §4),
|
||||||
|
- name `MainStack/marvy-1-14B` in the model card, paper, or README, and
|
||||||
|
- cite the entry below.
|
||||||
|
|
||||||
|
Per Apache-2.0, you must also continue to attribute the upstream base model
|
||||||
|
(Qwen2.5-14B-Instruct) — see `NOTICE`.
|
||||||
|
|
||||||
|
## Citation
|
||||||
|
|
||||||
|
If you use marvy-1-14B (as a baseline, a starting point, or in evaluation),
|
||||||
|
please cite:
|
||||||
|
|
||||||
|
```bibtex
|
||||||
|
@software{marvy_1_14b_2026,
|
||||||
|
title = {marvy-1-14B: An open fine-tuned model for the full ServiceNow delivery lifecycle},
|
||||||
|
author = {MainStack},
|
||||||
|
year = {2026},
|
||||||
|
publisher = {Hugging Face},
|
||||||
|
url = {https://huggingface.co/MainStack/marvy-1-14B},
|
||||||
|
note = {Fine-tune of Qwen2.5-14B-Instruct},
|
||||||
|
license = {Apache-2.0}
|
||||||
|
}
|
||||||
|
|
||||||
|
@misc{qwen2.5,
|
||||||
|
title = {Qwen2.5: A Party of Foundation Models},
|
||||||
|
author = {Qwen Team},
|
||||||
|
year = {2024},
|
||||||
|
url = {https://qwenlm.github.io/blog/qwen2.5/}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
```bibtex
|
||||||
|
@software{marvy_14b_2026,
|
||||||
|
title = {marvy-1-14B: A ServiceNow delivery lifecycle fine-tune of Qwen2.5-14B-Instruct},
|
||||||
|
author = {MainStack},
|
||||||
|
year = {2026},
|
||||||
|
url = {https://huggingface.co/MainStack/marvy-1-14B},
|
||||||
|
license= {Apache-2.0}
|
||||||
|
}
|
||||||
|
|
||||||
|
@misc{qwen2.5,
|
||||||
|
title = {Qwen2.5: A Party of Foundation Models},
|
||||||
|
author = {Qwen Team},
|
||||||
|
year = {2024},
|
||||||
|
url = {https://qwenlm.github.io/blog/qwen2.5/}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Acknowledgements
|
||||||
|
|
||||||
|
- **Qwen team** at Alibaba Cloud for the Qwen2.5 family.
|
||||||
|
- **Apple MLX team** for `mlx` and `mlx-lm`, enabling native Apple Silicon training.
|
||||||
|
- **Hugging Face** for hosting and the surrounding ecosystem.
|
||||||
191
USAGE.md
Normal file
191
USAGE.md
Normal file
@@ -0,0 +1,191 @@
|
|||||||
|
# Using marvy-1-14B
|
||||||
|
|
||||||
|
marvy-1-14B is a ServiceNow delivery specialist. This guide covers every common
|
||||||
|
way to run it — cloud or fully local — plus how to wire it into OpenCode.
|
||||||
|
|
||||||
|
- [Choosing a format](#choosing-a-format)
|
||||||
|
- [Recommended system prompt & settings](#recommended-system-prompt--settings)
|
||||||
|
- [Transformers (PyTorch)](#transformers-pytorch)
|
||||||
|
- [vLLM (OpenAI-compatible server)](#vllm-openai-compatible-server)
|
||||||
|
- [MLX (Apple Silicon, native)](#mlx-apple-silicon-native)
|
||||||
|
- [LM Studio (GUI + local server)](#lm-studio-gui--local-server)
|
||||||
|
- [Ollama / llama.cpp (GGUF)](#ollama--llamacpp-gguf)
|
||||||
|
- [LoRA adapter (apply on the base)](#lora-adapter-apply-on-the-base)
|
||||||
|
- [Use marvy-1-14B in OpenCode](#use-marvy-14b-in-opencode)
|
||||||
|
- [Prompt recipes per task](#prompt-recipes-per-task)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Choosing a format
|
||||||
|
|
||||||
|
| You want… | Use | Repo |
|
||||||
|
|---|---|---|
|
||||||
|
| Max quality, GPU/server | Merged FP16 | `MainStack/marvy-1-14B` |
|
||||||
|
| Apple Silicon, native speed | Merged (MLX) | `MainStack/marvy-1-14B` |
|
||||||
|
| Laptop / CPU / Ollama / LM Studio | GGUF (Q4_K_M or Q8_0) | `MainStack/marvy-1-14B-GGUF` |
|
||||||
|
| Smallest download, compose yourself | LoRA adapter (~175 MB) | `MainStack/marvy-1-14B-lora` |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Recommended system prompt & settings
|
||||||
|
|
||||||
|
Always lead with the delivery-consultant system prompt — marvy was trained with it:
|
||||||
|
|
||||||
|
```
|
||||||
|
You are a senior ServiceNow delivery consultant. You produce precise, implementation-grade
|
||||||
|
artifacts: business analyses, requirements, solution design documents, user stories with
|
||||||
|
acceptance criteria, test cases, and validation reviews. You favor out-of-the-box
|
||||||
|
capabilities, cite concrete tables/plugins/sys_ids when relevant, and write in clear
|
||||||
|
professional English.
|
||||||
|
```
|
||||||
|
|
||||||
|
| Use case | temperature | top_p | max_tokens |
|
||||||
|
|---|---|---|---|
|
||||||
|
| Structured artifacts (SDD, stories, test cases) | 0.3 – 0.5 | 0.9 | 1024 – 4096 |
|
||||||
|
| Exploratory brainstorming | 0.7 – 0.9 | 0.95 | 1024 |
|
||||||
|
| Validation / critique | 0.2 – 0.4 | 0.9 | 1024 – 2048 |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Transformers (PyTorch)
|
||||||
|
|
||||||
|
```python
|
||||||
|
from transformers import AutoTokenizer, AutoModelForCausalLM
|
||||||
|
|
||||||
|
model_id = "MainStack/marvy-1-14B"
|
||||||
|
tok = AutoTokenizer.from_pretrained(model_id)
|
||||||
|
model = AutoModelForCausalLM.from_pretrained(model_id, torch_dtype="auto", device_map="auto")
|
||||||
|
|
||||||
|
SYSTEM = "You are a senior ServiceNow delivery consultant. ..." # full prompt above
|
||||||
|
messages = [
|
||||||
|
{"role": "system", "content": SYSTEM},
|
||||||
|
{"role": "user", "content": "Write a user story with acceptance criteria for P1 SLA escalation."},
|
||||||
|
]
|
||||||
|
inputs = tok.apply_chat_template(messages, add_generation_prompt=True, return_tensors="pt").to(model.device)
|
||||||
|
out = model.generate(inputs, max_new_tokens=1024, temperature=0.4, top_p=0.9)
|
||||||
|
print(tok.decode(out[0][inputs.shape[-1]:], skip_special_tokens=True))
|
||||||
|
```
|
||||||
|
|
||||||
|
## vLLM (OpenAI-compatible server)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pip install vllm
|
||||||
|
vllm serve MainStack/marvy-1-14B --served-model-name marvy-1-14B
|
||||||
|
```
|
||||||
|
|
||||||
|
```bash
|
||||||
|
curl -s http://localhost:8000/v1/chat/completions -H "Content-Type: application/json" -d '{
|
||||||
|
"model": "marvy-1-14B", "temperature": 0.4,
|
||||||
|
"messages": [
|
||||||
|
{"role":"system","content":"You are a senior ServiceNow delivery consultant. ..."},
|
||||||
|
{"role":"user","content":"Draft the Incident Management section of an SDD."}
|
||||||
|
]}'
|
||||||
|
```
|
||||||
|
|
||||||
|
## MLX (Apple Silicon, native)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pip install mlx-lm
|
||||||
|
|
||||||
|
# one-off
|
||||||
|
python -m mlx_lm generate --model MainStack/marvy-1-14B \
|
||||||
|
--system-prompt "You are a senior ServiceNow delivery consultant. ..." \
|
||||||
|
--prompt "Write test cases for a Major Incident workflow." --max-tokens 1024 --temp 0.4
|
||||||
|
|
||||||
|
# OpenAI-compatible server
|
||||||
|
python -m mlx_lm server --model MainStack/marvy-1-14B --port 8080
|
||||||
|
```
|
||||||
|
|
||||||
|
## LM Studio (GUI + local server)
|
||||||
|
|
||||||
|
1. **Install the model** — either search `MainStack/marvy-1-14B-GGUF` in the
|
||||||
|
in-app model browser, or place a local copy under
|
||||||
|
`~/.lmstudio/models/MainStack/marvy-1-14B/` (MLX or GGUF layout).
|
||||||
|
2. **Load** it from the GUI, or:
|
||||||
|
```bash
|
||||||
|
lms load MainStack/marvy-1-14B
|
||||||
|
lms server start # OpenAI-compatible on http://localhost:1234/v1
|
||||||
|
```
|
||||||
|
3. In the Chat tab, set the system prompt (above) and temperature ~0.4.
|
||||||
|
|
||||||
|
## Ollama / llama.cpp (GGUF)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Ollama — pull straight from the Hub
|
||||||
|
ollama run hf.co/MainStack/marvy-1-14B-GGUF:Q4_K_M
|
||||||
|
|
||||||
|
# llama.cpp
|
||||||
|
llama-cli -hf MainStack/marvy-1-14B-GGUF:Q4_K_M \
|
||||||
|
-p "Write a user story with acceptance criteria for P1 SLA escalation." --temp 0.4
|
||||||
|
```
|
||||||
|
|
||||||
|
| Quant | Size | Use when |
|
||||||
|
|---|---|---|
|
||||||
|
| `Q4_K_M` | ~9 GB | Default — best size/quality balance |
|
||||||
|
| `Q8_0` | ~16 GB | Highest fidelity, near-FP16 |
|
||||||
|
|
||||||
|
## LoRA adapter (apply on the base)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# MLX
|
||||||
|
python -m mlx_lm generate --model Qwen/Qwen2.5-14B-Instruct \
|
||||||
|
--adapter-path . --system-prompt "You are a senior ServiceNow delivery consultant. ..." \
|
||||||
|
--prompt "Validate this requirement and list follow-up questions: ..." --max-tokens 1024
|
||||||
|
```
|
||||||
|
|
||||||
|
```python
|
||||||
|
# PEFT
|
||||||
|
from peft import PeftModel
|
||||||
|
from transformers import AutoModelForCausalLM, AutoTokenizer
|
||||||
|
base = "Qwen/Qwen2.5-14B-Instruct"
|
||||||
|
model = AutoModelForCausalLM.from_pretrained(base, torch_dtype="auto", device_map="auto")
|
||||||
|
model = PeftModel.from_pretrained(model, "MainStack/marvy-1-14B-lora")
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Use marvy-1-14B in OpenCode
|
||||||
|
|
||||||
|
marvy runs behind any OpenAI-compatible endpoint (LM Studio, mlx_lm server,
|
||||||
|
vLLM). Register it as a custom provider in `opencode.json`.
|
||||||
|
|
||||||
|
1. **Start a local server** (LM Studio shown; adjust port for others):
|
||||||
|
```bash
|
||||||
|
lms load MainStack/marvy-1-14B && lms server start # http://localhost:1234/v1
|
||||||
|
```
|
||||||
|
2. **Add the provider** to your project `opencode.json` (or global
|
||||||
|
`~/.config/opencode/opencode.json`):
|
||||||
|
```jsonc
|
||||||
|
{
|
||||||
|
"provider": {
|
||||||
|
"lmstudio": {
|
||||||
|
"npm": "@ai-sdk/openai-compatible",
|
||||||
|
"name": "LM Studio (local)",
|
||||||
|
"options": { "baseURL": "http://localhost:1234/v1" },
|
||||||
|
"models": {
|
||||||
|
"marvy-1-14B": { "name": "marvy-1-14B (ServiceNow delivery)" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
3. **Select** `lmstudio/marvy-1-14B` in the OpenCode model picker.
|
||||||
|
|
||||||
|
> marvy-1-14B is a drafting specialist, not a tool-use/agentic fine-tune. It excels
|
||||||
|
> at producing delivery artifacts inside chat; for MCP tool-calling agent loops,
|
||||||
|
> keep a frontier model as the orchestrator and switch to marvy for drafting.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Prompt recipes per task
|
||||||
|
|
||||||
|
| Task | Prompt skeleton |
|
||||||
|
|---|---|
|
||||||
|
| Business analysis | "Produce a Business Analysis for the following engagement: <context>. Cover organization, IT landscape, scope, and risks." |
|
||||||
|
| Requirements | "Extract structured requirements (id, category, requirement, priority, target_phase, success_metric) from: <notes>." |
|
||||||
|
| Stakeholders | "Build a stakeholder register (role, name, interest, influence, RACI) for: <context>." |
|
||||||
|
| SDD section | "Write the <section> section of a Solution Design Document for a ServiceNow <module> implementation. Include design decisions and concrete tables/plugins." |
|
||||||
|
| User story | "Write a ServiceNow user story with acceptance criteria for: <capability>." |
|
||||||
|
| Implementation plan | "Given this story, describe the implementation: tables, plugins, configuration, records touched, manual follow-ups. Story: <story>." |
|
||||||
|
| Test case | "Write a test case (pre-conditions, steps, expected results, pass/fail) for the story: <story>." |
|
||||||
|
| Validation | "Validate this artifact against ServiceNow best practice and the SOW. List gaps, risks, and follow-up questions. Artifact: <artifact>." |
|
||||||
138
VALIDATION.md
Normal file
138
VALIDATION.md
Normal file
@@ -0,0 +1,138 @@
|
|||||||
|
# Validating marvy-1-14B
|
||||||
|
|
||||||
|
This guide gives you three independent ways to confirm the fine-tune actually
|
||||||
|
learned the ServiceNow delivery style — from a 60-second smoke test to a
|
||||||
|
quantitative base-vs-marvy comparison on a held-out, customer-disjoint test set.
|
||||||
|
|
||||||
|
> TL;DR: run `bash docs/validate.sh` (from the model repo) for the quick path,
|
||||||
|
> or follow the manual steps below.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## What "working" means here
|
||||||
|
|
||||||
|
marvy-1-14B is a **specialist drafting model**. A successful fine-tune should show:
|
||||||
|
|
||||||
|
1. **Format fidelity** — it emits the delivery artifact shape on cue (user
|
||||||
|
stories with acceptance criteria, SDD sections, test cases with
|
||||||
|
pre-conditions/steps/expected results) without being told the structure.
|
||||||
|
2. **Domain voice** — OOTB-first framing, ServiceNow tables/plugins, ITIL/CSDM
|
||||||
|
vocabulary, `sys_id` citations where relevant.
|
||||||
|
3. **Lower loss than the base** on held-out ServiceNow delivery text.
|
||||||
|
|
||||||
|
The base model (Qwen2.5-14B-Instruct) is a strong generalist and will produce
|
||||||
|
*plausible* answers — the point of validation is to show marvy is **more
|
||||||
|
on-format, more domain-specific, and lower-perplexity** on this task.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Test 1 — 60-second smoke test (qualitative)
|
||||||
|
|
||||||
|
Prompt the model with a bare instruction and check it produces a correctly
|
||||||
|
structured artifact with no format coaching.
|
||||||
|
|
||||||
|
### LM Studio (local)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
lms load MainStack/marvy-1-14B
|
||||||
|
lms server start # OpenAI-compatible on http://localhost:1234/v1
|
||||||
|
|
||||||
|
curl -s http://localhost:1234/v1/chat/completions \
|
||||||
|
-H "Content-Type: application/json" \
|
||||||
|
-d '{
|
||||||
|
"model": "marvy-1-14B",
|
||||||
|
"temperature": 0.4,
|
||||||
|
"messages": [
|
||||||
|
{"role": "system", "content": "You are a senior ServiceNow delivery consultant. You produce precise, implementation-grade artifacts and favor out-of-the-box capabilities."},
|
||||||
|
{"role": "user", "content": "Write a user story with acceptance criteria for auto-escalating P1 incidents that breach a 15-minute response SLA."}
|
||||||
|
]
|
||||||
|
}' | python3 -c "import sys,json;print(json.load(sys.stdin)['choices'][0]['message']['content'])"
|
||||||
|
```
|
||||||
|
|
||||||
|
### MLX (Apple Silicon)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
python -m mlx_lm generate --model MainStack/marvy-1-14B \
|
||||||
|
--system-prompt "You are a senior ServiceNow delivery consultant..." \
|
||||||
|
--prompt "Write a user story with acceptance criteria for auto-escalating P1 incidents that breach a 15-minute response SLA." \
|
||||||
|
--max-tokens 512 --temp 0.4
|
||||||
|
```
|
||||||
|
|
||||||
|
### Pass criteria
|
||||||
|
|
||||||
|
- [ ] Output is a **user story** (`As a … I want … so that …`) followed by
|
||||||
|
discrete, testable **acceptance criteria**.
|
||||||
|
- [ ] References ServiceNow concretely (e.g. `incident`, SLA definitions,
|
||||||
|
`sla_definition`, escalation/notification, assignment groups).
|
||||||
|
- [ ] No meta-chatter ("Sure, here is…") dominating the answer; it reads like a
|
||||||
|
backlog item, not a chatbot reply.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Test 2 — Task-coverage probes (qualitative, one per skill)
|
||||||
|
|
||||||
|
Run each prompt with the recommended system prompt. Each should yield the
|
||||||
|
artifact named, in the right shape.
|
||||||
|
|
||||||
|
| # | Prompt | Expect |
|
||||||
|
|---|--------|--------|
|
||||||
|
| 1 | "Draft the Incident Management section of an SDD for a greenfield ITSM implementation. Include assignment rules and SLA design." | SDD section: architecture/process, assignment rules (condition/action/order), SLA table |
|
||||||
|
| 2 | "Extract structured requirements (id, category, priority, target phase, success metric) from: 'We need to replace email-based access requests with a catalog item routed for manager approval.'" | Tabular/structured requirements with priorities & metrics |
|
||||||
|
| 3 | "Write a test case for the story: 'Restrict the Assignment Group field on incidents to groups with the itil role.'" | Test case: pre-conditions, steps, expected results, pass/fail |
|
||||||
|
| 4 | "We are migrating CMDB to CSDM. Produce the foundation-data load sequence and the CI classes involved." | CSDM/CMDB sequence, classes (cmdb_ci_*), foundation order |
|
||||||
|
| 5 | "Validate this requirement against best practice and list follow-up questions: 'All incidents must auto-close after 3 days.'" | Critique + concrete follow-up questions + risks |
|
||||||
|
|
||||||
|
### Pass criteria
|
||||||
|
At least **4 of 5** produce the correct artifact type with ServiceNow-specific,
|
||||||
|
implementation-grade content (not generic ITSM prose).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Test 3 — Quantitative: base vs marvy on the held-out test set
|
||||||
|
|
||||||
|
This is the strongest signal. The test split is **customer-disjoint** — two
|
||||||
|
customers that never appear in training or validation — so it measures
|
||||||
|
generalization, not memorization.
|
||||||
|
|
||||||
|
### With the MLX training kit (in the source repo)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd training
|
||||||
|
|
||||||
|
# marvy (fine-tuned adapter on the base)
|
||||||
|
python -m mlx_lm lora \
|
||||||
|
--model mlx-community/Qwen2.5-14B-Instruct-4bit \
|
||||||
|
--adapter-path train/adapters \
|
||||||
|
--data train/data --test --test-batches 50
|
||||||
|
# -> Test loss 2.573, Test ppl 13.107 (lower is better)
|
||||||
|
|
||||||
|
# base (no adapter) for comparison
|
||||||
|
python -m mlx_lm lora \
|
||||||
|
--model mlx-community/Qwen2.5-14B-Instruct-4bit \
|
||||||
|
--data train/data --test --test-batches 50
|
||||||
|
# -> expect a HIGHER loss/ppl than marvy
|
||||||
|
```
|
||||||
|
|
||||||
|
### Pass criteria
|
||||||
|
- [ ] marvy's **test perplexity is meaningfully lower** than the base on the
|
||||||
|
same held-out split.
|
||||||
|
- [ ] No data leakage: the test customers (`Customer-CHEM-01`,
|
||||||
|
`Customer-FININST-01`) are absent from `train.jsonl` / `valid.jsonl`.
|
||||||
|
|
||||||
|
> Reference result for this release: **test loss 2.573 / ppl 13.107** on 50
|
||||||
|
> batches of the project-disjoint test split (two sequences >2048 tokens are
|
||||||
|
> truncated by the eval harness, so this is a slight upper bound).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Interpreting results
|
||||||
|
|
||||||
|
| Symptom | Likely cause | Action |
|
||||||
|
|---|---|---|
|
||||||
|
| Generic ITSM prose, no ServiceNow specifics | wrong/short system prompt | use the full recommended system prompt; temp 0.3–0.5 |
|
||||||
|
| Rambling, no artifact structure | temperature too high | lower to 0.3–0.4 |
|
||||||
|
| Invents `sys_id`s / plugin IDs | expected limitation | verify against a real instance; never trust IDs blindly |
|
||||||
|
| marvy ppl ≈ base ppl | adapter not applied / wrong checkpoint | confirm `--adapter-path` points at the trained adapter (iter-150) |
|
||||||
|
|
||||||
|
marvy-1-14B is a first-draft assistant. All output must be reviewed by a qualified
|
||||||
|
ServiceNow consultant before client delivery or production configuration.
|
||||||
54
chat_template.jinja
Normal file
54
chat_template.jinja
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
{%- if tools %}
|
||||||
|
{{- '<|im_start|>system\n' }}
|
||||||
|
{%- if messages[0]['role'] == 'system' %}
|
||||||
|
{{- messages[0]['content'] }}
|
||||||
|
{%- else %}
|
||||||
|
{{- 'You are Qwen, created by Alibaba Cloud. You are a helpful assistant.' }}
|
||||||
|
{%- endif %}
|
||||||
|
{{- "\n\n# Tools\n\nYou may call one or more functions to assist with the user query.\n\nYou are provided with function signatures within <tools></tools> XML tags:\n<tools>" }}
|
||||||
|
{%- for tool in tools %}
|
||||||
|
{{- "\n" }}
|
||||||
|
{{- tool | tojson }}
|
||||||
|
{%- endfor %}
|
||||||
|
{{- "\n</tools>\n\nFor each function call, return a json object with function name and arguments within <tool_call></tool_call> XML tags:\n<tool_call>\n{\"name\": <function-name>, \"arguments\": <args-json-object>}\n</tool_call><|im_end|>\n" }}
|
||||||
|
{%- else %}
|
||||||
|
{%- if messages[0]['role'] == 'system' %}
|
||||||
|
{{- '<|im_start|>system\n' + messages[0]['content'] + '<|im_end|>\n' }}
|
||||||
|
{%- else %}
|
||||||
|
{{- '<|im_start|>system\nYou are Qwen, created by Alibaba Cloud. You are a helpful assistant.<|im_end|>\n' }}
|
||||||
|
{%- endif %}
|
||||||
|
{%- endif %}
|
||||||
|
{%- for message in messages %}
|
||||||
|
{%- if (message.role == "user") or (message.role == "system" and not loop.first) or (message.role == "assistant" and not message.tool_calls) %}
|
||||||
|
{{- '<|im_start|>' + message.role + '\n' + message.content + '<|im_end|>' + '\n' }}
|
||||||
|
{%- elif message.role == "assistant" %}
|
||||||
|
{{- '<|im_start|>' + message.role }}
|
||||||
|
{%- if message.content %}
|
||||||
|
{{- '\n' + message.content }}
|
||||||
|
{%- endif %}
|
||||||
|
{%- for tool_call in message.tool_calls %}
|
||||||
|
{%- if tool_call.function is defined %}
|
||||||
|
{%- set tool_call = tool_call.function %}
|
||||||
|
{%- endif %}
|
||||||
|
{{- '\n<tool_call>\n{"name": "' }}
|
||||||
|
{{- tool_call.name }}
|
||||||
|
{{- '", "arguments": ' }}
|
||||||
|
{{- tool_call.arguments | tojson }}
|
||||||
|
{{- '}\n</tool_call>' }}
|
||||||
|
{%- endfor %}
|
||||||
|
{{- '<|im_end|>\n' }}
|
||||||
|
{%- elif message.role == "tool" %}
|
||||||
|
{%- if (loop.index0 == 0) or (messages[loop.index0 - 1].role != "tool") %}
|
||||||
|
{{- '<|im_start|>user' }}
|
||||||
|
{%- endif %}
|
||||||
|
{{- '\n<tool_response>\n' }}
|
||||||
|
{{- message.content }}
|
||||||
|
{{- '\n</tool_response>' }}
|
||||||
|
{%- if loop.last or (messages[loop.index0 + 1].role != "tool") %}
|
||||||
|
{{- '<|im_end|>\n' }}
|
||||||
|
{%- endif %}
|
||||||
|
{%- endif %}
|
||||||
|
{%- endfor %}
|
||||||
|
{%- if add_generation_prompt %}
|
||||||
|
{{- '<|im_start|>assistant\n' }}
|
||||||
|
{%- endif %}
|
||||||
30
config.json
Normal file
30
config.json
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
{
|
||||||
|
"architectures": [
|
||||||
|
"Qwen2ForCausalLM"
|
||||||
|
],
|
||||||
|
"attention_dropout": 0.0,
|
||||||
|
"bos_token_id": 151643,
|
||||||
|
"eos_token_id": [
|
||||||
|
151645,
|
||||||
|
151643
|
||||||
|
],
|
||||||
|
"hidden_act": "silu",
|
||||||
|
"hidden_size": 5120,
|
||||||
|
"initializer_range": 0.02,
|
||||||
|
"intermediate_size": 13824,
|
||||||
|
"max_position_embeddings": 32768,
|
||||||
|
"max_window_layers": 70,
|
||||||
|
"model_type": "qwen2",
|
||||||
|
"num_attention_heads": 40,
|
||||||
|
"num_hidden_layers": 48,
|
||||||
|
"num_key_value_heads": 8,
|
||||||
|
"rms_norm_eps": 1e-06,
|
||||||
|
"rope_theta": 1000000.0,
|
||||||
|
"sliding_window": 131072,
|
||||||
|
"tie_word_embeddings": false,
|
||||||
|
"torch_dtype": "bfloat16",
|
||||||
|
"transformers_version": "4.43.1",
|
||||||
|
"use_cache": true,
|
||||||
|
"use_sliding_window": false,
|
||||||
|
"vocab_size": 152064
|
||||||
|
}
|
||||||
14
generation_config.json
Normal file
14
generation_config.json
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"bos_token_id": 151643,
|
||||||
|
"pad_token_id": 151643,
|
||||||
|
"do_sample": true,
|
||||||
|
"eos_token_id": [
|
||||||
|
151645,
|
||||||
|
151643
|
||||||
|
],
|
||||||
|
"repetition_penalty": 1.05,
|
||||||
|
"temperature": 0.7,
|
||||||
|
"top_p": 0.8,
|
||||||
|
"top_k": 20,
|
||||||
|
"transformers_version": "4.37.0"
|
||||||
|
}
|
||||||
BIN
marvy_improvement.png
Normal file
BIN
marvy_improvement.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 56 KiB |
3
marvy_vs_base_ppl.png
Normal file
3
marvy_vs_base_ppl.png
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:64d0eec4d311d5db10138e4c2994269eaff4ada63b51571a6249369654435ca4
|
||||||
|
size 104116
|
||||||
3
model-00001-of-00006.safetensors
Normal file
3
model-00001-of-00006.safetensors
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:c9f4f094712adb9411691fc9b47d2ba6488a426bd92cc9881c7e9a5e6e76cdbc
|
||||||
|
size 5269326976
|
||||||
3
model-00002-of-00006.safetensors
Normal file
3
model-00002-of-00006.safetensors
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:26d4a35ad7a246ee3469da5d6518eac04afde333c5dcef1d8d5e47dec8467c01
|
||||||
|
size 5363828073
|
||||||
3
model-00003-of-00006.safetensors
Normal file
3
model-00003-of-00006.safetensors
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:bb1f0d357f4173ad7cf5e1b63ccf2c92212733a4f278eee807047ee5b63d457e
|
||||||
|
size 5363828102
|
||||||
3
model-00004-of-00006.safetensors
Normal file
3
model-00004-of-00006.safetensors
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:944e634f1c825e4706b285f808267e0891d8f918f14073b575fc790d5302f560
|
||||||
|
size 5237963142
|
||||||
3
model-00005-of-00006.safetensors
Normal file
3
model-00005-of-00006.safetensors
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:10a41b64fb4f2b0789260bda84cf7fac69f2241cd3d85418164be365a9626d8c
|
||||||
|
size 5363828102
|
||||||
3
model-00006-of-00006.safetensors
Normal file
3
model-00006-of-00006.safetensors
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:03e43f4ec3d8d36c1feab31069c77fffdaace3dc5a472369d1f0222dc2033ebb
|
||||||
|
size 2941359481
|
||||||
587
model.safetensors.index.json
Normal file
587
model.safetensors.index.json
Normal file
@@ -0,0 +1,587 @@
|
|||||||
|
{
|
||||||
|
"metadata": {
|
||||||
|
"total_size": 29540067328,
|
||||||
|
"total_parameters": 14770033664
|
||||||
|
},
|
||||||
|
"weight_map": {
|
||||||
|
"lm_head.weight": "model-00006-of-00006.safetensors",
|
||||||
|
"model.embed_tokens.weight": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.0.input_layernorm.weight": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.0.mlp.down_proj.weight": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.0.mlp.gate_proj.weight": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.0.mlp.up_proj.weight": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.0.post_attention_layernorm.weight": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.0.self_attn.k_proj.bias": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.0.self_attn.k_proj.weight": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.0.self_attn.o_proj.weight": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.0.self_attn.q_proj.bias": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.0.self_attn.q_proj.weight": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.0.self_attn.v_proj.bias": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.0.self_attn.v_proj.weight": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.1.input_layernorm.weight": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.1.mlp.down_proj.weight": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.1.mlp.gate_proj.weight": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.1.mlp.up_proj.weight": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.1.post_attention_layernorm.weight": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.1.self_attn.k_proj.bias": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.1.self_attn.k_proj.weight": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.1.self_attn.o_proj.weight": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.1.self_attn.q_proj.bias": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.1.self_attn.q_proj.weight": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.1.self_attn.v_proj.bias": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.1.self_attn.v_proj.weight": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.10.input_layernorm.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.10.mlp.down_proj.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.10.mlp.gate_proj.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.10.mlp.up_proj.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.10.post_attention_layernorm.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.10.self_attn.k_proj.bias": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.10.self_attn.k_proj.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.10.self_attn.o_proj.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.10.self_attn.q_proj.bias": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.10.self_attn.q_proj.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.10.self_attn.v_proj.bias": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.10.self_attn.v_proj.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.11.input_layernorm.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.11.mlp.down_proj.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.11.mlp.gate_proj.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.11.mlp.up_proj.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.11.post_attention_layernorm.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.11.self_attn.k_proj.bias": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.11.self_attn.k_proj.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.11.self_attn.o_proj.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.11.self_attn.q_proj.bias": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.11.self_attn.q_proj.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.11.self_attn.v_proj.bias": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.11.self_attn.v_proj.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.12.input_layernorm.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.12.mlp.down_proj.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.12.mlp.gate_proj.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.12.mlp.up_proj.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.12.post_attention_layernorm.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.12.self_attn.k_proj.bias": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.12.self_attn.k_proj.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.12.self_attn.o_proj.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.12.self_attn.q_proj.bias": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.12.self_attn.q_proj.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.12.self_attn.v_proj.bias": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.12.self_attn.v_proj.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.13.input_layernorm.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.13.mlp.down_proj.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.13.mlp.gate_proj.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.13.mlp.up_proj.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.13.post_attention_layernorm.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.13.self_attn.k_proj.bias": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.13.self_attn.k_proj.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.13.self_attn.o_proj.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.13.self_attn.q_proj.bias": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.13.self_attn.q_proj.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.13.self_attn.v_proj.bias": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.13.self_attn.v_proj.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.14.input_layernorm.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.14.mlp.down_proj.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.14.mlp.gate_proj.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.14.mlp.up_proj.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.14.post_attention_layernorm.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.14.self_attn.k_proj.bias": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.14.self_attn.k_proj.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.14.self_attn.o_proj.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.14.self_attn.q_proj.bias": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.14.self_attn.q_proj.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.14.self_attn.v_proj.bias": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.14.self_attn.v_proj.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.15.input_layernorm.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.15.mlp.down_proj.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.15.mlp.gate_proj.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.15.mlp.up_proj.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.15.post_attention_layernorm.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.15.self_attn.k_proj.bias": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.15.self_attn.k_proj.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.15.self_attn.o_proj.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.15.self_attn.q_proj.bias": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.15.self_attn.q_proj.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.15.self_attn.v_proj.bias": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.15.self_attn.v_proj.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.16.input_layernorm.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.16.mlp.down_proj.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.16.mlp.gate_proj.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.16.mlp.up_proj.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.16.post_attention_layernorm.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.16.self_attn.k_proj.bias": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.16.self_attn.k_proj.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.16.self_attn.o_proj.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.16.self_attn.q_proj.bias": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.16.self_attn.q_proj.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.16.self_attn.v_proj.bias": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.16.self_attn.v_proj.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.17.input_layernorm.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.17.mlp.down_proj.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.17.mlp.gate_proj.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.17.mlp.up_proj.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.17.post_attention_layernorm.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.17.self_attn.k_proj.bias": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.17.self_attn.k_proj.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.17.self_attn.o_proj.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.17.self_attn.q_proj.bias": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.17.self_attn.q_proj.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.17.self_attn.v_proj.bias": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.17.self_attn.v_proj.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.18.input_layernorm.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.18.mlp.down_proj.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.18.mlp.gate_proj.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.18.mlp.up_proj.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.18.post_attention_layernorm.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.18.self_attn.k_proj.bias": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.18.self_attn.k_proj.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.18.self_attn.o_proj.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.18.self_attn.q_proj.bias": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.18.self_attn.q_proj.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.18.self_attn.v_proj.bias": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.18.self_attn.v_proj.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.19.input_layernorm.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.19.mlp.down_proj.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.19.mlp.gate_proj.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.19.mlp.up_proj.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.19.post_attention_layernorm.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.19.self_attn.k_proj.bias": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.19.self_attn.k_proj.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.19.self_attn.o_proj.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.19.self_attn.q_proj.bias": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.19.self_attn.q_proj.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.19.self_attn.v_proj.bias": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.19.self_attn.v_proj.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.2.input_layernorm.weight": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.2.mlp.down_proj.weight": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.2.mlp.gate_proj.weight": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.2.mlp.up_proj.weight": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.2.post_attention_layernorm.weight": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.2.self_attn.k_proj.bias": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.2.self_attn.k_proj.weight": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.2.self_attn.o_proj.weight": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.2.self_attn.q_proj.bias": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.2.self_attn.q_proj.weight": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.2.self_attn.v_proj.bias": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.2.self_attn.v_proj.weight": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.20.input_layernorm.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.20.mlp.down_proj.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.20.mlp.gate_proj.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.20.mlp.up_proj.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.20.post_attention_layernorm.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.20.self_attn.k_proj.bias": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.20.self_attn.k_proj.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.20.self_attn.o_proj.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.20.self_attn.q_proj.bias": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.20.self_attn.q_proj.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.20.self_attn.v_proj.bias": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.20.self_attn.v_proj.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.21.input_layernorm.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.21.mlp.down_proj.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.21.mlp.gate_proj.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.21.mlp.up_proj.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.21.post_attention_layernorm.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.21.self_attn.k_proj.bias": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.21.self_attn.k_proj.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.21.self_attn.o_proj.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.21.self_attn.q_proj.bias": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.21.self_attn.q_proj.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.21.self_attn.v_proj.bias": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.21.self_attn.v_proj.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.22.input_layernorm.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.22.mlp.down_proj.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.22.mlp.gate_proj.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.22.mlp.up_proj.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.22.post_attention_layernorm.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.22.self_attn.k_proj.bias": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.22.self_attn.k_proj.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.22.self_attn.o_proj.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.22.self_attn.q_proj.bias": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.22.self_attn.q_proj.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.22.self_attn.v_proj.bias": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.22.self_attn.v_proj.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.23.input_layernorm.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.23.mlp.down_proj.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.23.mlp.gate_proj.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.23.mlp.up_proj.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.23.post_attention_layernorm.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.23.self_attn.k_proj.bias": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.23.self_attn.k_proj.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.23.self_attn.o_proj.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.23.self_attn.q_proj.bias": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.23.self_attn.q_proj.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.23.self_attn.v_proj.bias": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.23.self_attn.v_proj.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.24.input_layernorm.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.24.mlp.down_proj.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.24.mlp.gate_proj.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.24.mlp.up_proj.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.24.post_attention_layernorm.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.24.self_attn.k_proj.bias": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.24.self_attn.k_proj.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.24.self_attn.o_proj.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.24.self_attn.q_proj.bias": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.24.self_attn.q_proj.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.24.self_attn.v_proj.bias": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.24.self_attn.v_proj.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.25.input_layernorm.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.25.mlp.down_proj.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.25.mlp.gate_proj.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.25.mlp.up_proj.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.25.post_attention_layernorm.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.25.self_attn.k_proj.bias": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.25.self_attn.k_proj.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.25.self_attn.o_proj.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.25.self_attn.q_proj.bias": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.25.self_attn.q_proj.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.25.self_attn.v_proj.bias": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.25.self_attn.v_proj.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.26.input_layernorm.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.26.mlp.down_proj.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.26.mlp.gate_proj.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.26.mlp.up_proj.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.26.post_attention_layernorm.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.26.self_attn.k_proj.bias": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.26.self_attn.k_proj.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.26.self_attn.o_proj.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.26.self_attn.q_proj.bias": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.26.self_attn.q_proj.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.26.self_attn.v_proj.bias": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.26.self_attn.v_proj.weight": "model-00003-of-00006.safetensors",
|
||||||
|
"model.layers.27.input_layernorm.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.27.mlp.down_proj.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.27.mlp.gate_proj.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.27.mlp.up_proj.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.27.post_attention_layernorm.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.27.self_attn.k_proj.bias": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.27.self_attn.k_proj.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.27.self_attn.o_proj.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.27.self_attn.q_proj.bias": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.27.self_attn.q_proj.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.27.self_attn.v_proj.bias": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.27.self_attn.v_proj.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.28.input_layernorm.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.28.mlp.down_proj.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.28.mlp.gate_proj.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.28.mlp.up_proj.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.28.post_attention_layernorm.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.28.self_attn.k_proj.bias": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.28.self_attn.k_proj.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.28.self_attn.o_proj.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.28.self_attn.q_proj.bias": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.28.self_attn.q_proj.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.28.self_attn.v_proj.bias": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.28.self_attn.v_proj.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.29.input_layernorm.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.29.mlp.down_proj.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.29.mlp.gate_proj.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.29.mlp.up_proj.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.29.post_attention_layernorm.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.29.self_attn.k_proj.bias": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.29.self_attn.k_proj.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.29.self_attn.o_proj.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.29.self_attn.q_proj.bias": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.29.self_attn.q_proj.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.29.self_attn.v_proj.bias": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.29.self_attn.v_proj.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.3.input_layernorm.weight": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.3.mlp.down_proj.weight": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.3.mlp.gate_proj.weight": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.3.mlp.up_proj.weight": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.3.post_attention_layernorm.weight": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.3.self_attn.k_proj.bias": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.3.self_attn.k_proj.weight": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.3.self_attn.o_proj.weight": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.3.self_attn.q_proj.bias": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.3.self_attn.q_proj.weight": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.3.self_attn.v_proj.bias": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.3.self_attn.v_proj.weight": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.30.input_layernorm.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.30.mlp.down_proj.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.30.mlp.gate_proj.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.30.mlp.up_proj.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.30.post_attention_layernorm.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.30.self_attn.k_proj.bias": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.30.self_attn.k_proj.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.30.self_attn.o_proj.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.30.self_attn.q_proj.bias": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.30.self_attn.q_proj.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.30.self_attn.v_proj.bias": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.30.self_attn.v_proj.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.31.input_layernorm.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.31.mlp.down_proj.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.31.mlp.gate_proj.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.31.mlp.up_proj.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.31.post_attention_layernorm.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.31.self_attn.k_proj.bias": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.31.self_attn.k_proj.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.31.self_attn.o_proj.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.31.self_attn.q_proj.bias": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.31.self_attn.q_proj.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.31.self_attn.v_proj.bias": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.31.self_attn.v_proj.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.32.input_layernorm.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.32.mlp.down_proj.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.32.mlp.gate_proj.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.32.mlp.up_proj.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.32.post_attention_layernorm.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.32.self_attn.k_proj.bias": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.32.self_attn.k_proj.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.32.self_attn.o_proj.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.32.self_attn.q_proj.bias": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.32.self_attn.q_proj.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.32.self_attn.v_proj.bias": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.32.self_attn.v_proj.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.33.input_layernorm.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.33.mlp.down_proj.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.33.mlp.gate_proj.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.33.mlp.up_proj.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.33.post_attention_layernorm.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.33.self_attn.k_proj.bias": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.33.self_attn.k_proj.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.33.self_attn.o_proj.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.33.self_attn.q_proj.bias": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.33.self_attn.q_proj.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.33.self_attn.v_proj.bias": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.33.self_attn.v_proj.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.34.input_layernorm.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.34.mlp.down_proj.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.34.mlp.gate_proj.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.34.mlp.up_proj.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.34.post_attention_layernorm.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.34.self_attn.k_proj.bias": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.34.self_attn.k_proj.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.34.self_attn.o_proj.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.34.self_attn.q_proj.bias": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.34.self_attn.q_proj.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.34.self_attn.v_proj.bias": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.34.self_attn.v_proj.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.35.input_layernorm.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.35.mlp.down_proj.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.35.mlp.gate_proj.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.35.mlp.up_proj.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.35.post_attention_layernorm.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.35.self_attn.k_proj.bias": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.35.self_attn.k_proj.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.35.self_attn.o_proj.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.35.self_attn.q_proj.bias": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.35.self_attn.q_proj.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.35.self_attn.v_proj.bias": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.35.self_attn.v_proj.weight": "model-00004-of-00006.safetensors",
|
||||||
|
"model.layers.36.input_layernorm.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.36.mlp.down_proj.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.36.mlp.gate_proj.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.36.mlp.up_proj.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.36.post_attention_layernorm.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.36.self_attn.k_proj.bias": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.36.self_attn.k_proj.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.36.self_attn.o_proj.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.36.self_attn.q_proj.bias": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.36.self_attn.q_proj.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.36.self_attn.v_proj.bias": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.36.self_attn.v_proj.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.37.input_layernorm.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.37.mlp.down_proj.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.37.mlp.gate_proj.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.37.mlp.up_proj.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.37.post_attention_layernorm.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.37.self_attn.k_proj.bias": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.37.self_attn.k_proj.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.37.self_attn.o_proj.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.37.self_attn.q_proj.bias": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.37.self_attn.q_proj.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.37.self_attn.v_proj.bias": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.37.self_attn.v_proj.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.38.input_layernorm.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.38.mlp.down_proj.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.38.mlp.gate_proj.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.38.mlp.up_proj.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.38.post_attention_layernorm.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.38.self_attn.k_proj.bias": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.38.self_attn.k_proj.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.38.self_attn.o_proj.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.38.self_attn.q_proj.bias": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.38.self_attn.q_proj.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.38.self_attn.v_proj.bias": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.38.self_attn.v_proj.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.39.input_layernorm.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.39.mlp.down_proj.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.39.mlp.gate_proj.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.39.mlp.up_proj.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.39.post_attention_layernorm.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.39.self_attn.k_proj.bias": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.39.self_attn.k_proj.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.39.self_attn.o_proj.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.39.self_attn.q_proj.bias": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.39.self_attn.q_proj.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.39.self_attn.v_proj.bias": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.39.self_attn.v_proj.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.4.input_layernorm.weight": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.4.mlp.down_proj.weight": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.4.mlp.gate_proj.weight": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.4.mlp.up_proj.weight": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.4.post_attention_layernorm.weight": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.4.self_attn.k_proj.bias": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.4.self_attn.k_proj.weight": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.4.self_attn.o_proj.weight": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.4.self_attn.q_proj.bias": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.4.self_attn.q_proj.weight": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.4.self_attn.v_proj.bias": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.4.self_attn.v_proj.weight": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.40.input_layernorm.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.40.mlp.down_proj.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.40.mlp.gate_proj.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.40.mlp.up_proj.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.40.post_attention_layernorm.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.40.self_attn.k_proj.bias": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.40.self_attn.k_proj.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.40.self_attn.o_proj.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.40.self_attn.q_proj.bias": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.40.self_attn.q_proj.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.40.self_attn.v_proj.bias": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.40.self_attn.v_proj.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.41.input_layernorm.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.41.mlp.down_proj.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.41.mlp.gate_proj.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.41.mlp.up_proj.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.41.post_attention_layernorm.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.41.self_attn.k_proj.bias": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.41.self_attn.k_proj.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.41.self_attn.o_proj.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.41.self_attn.q_proj.bias": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.41.self_attn.q_proj.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.41.self_attn.v_proj.bias": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.41.self_attn.v_proj.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.42.input_layernorm.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.42.mlp.down_proj.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.42.mlp.gate_proj.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.42.mlp.up_proj.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.42.post_attention_layernorm.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.42.self_attn.k_proj.bias": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.42.self_attn.k_proj.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.42.self_attn.o_proj.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.42.self_attn.q_proj.bias": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.42.self_attn.q_proj.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.42.self_attn.v_proj.bias": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.42.self_attn.v_proj.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.43.input_layernorm.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.43.mlp.down_proj.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.43.mlp.gate_proj.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.43.mlp.up_proj.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.43.post_attention_layernorm.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.43.self_attn.k_proj.bias": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.43.self_attn.k_proj.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.43.self_attn.o_proj.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.43.self_attn.q_proj.bias": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.43.self_attn.q_proj.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.43.self_attn.v_proj.bias": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.43.self_attn.v_proj.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.44.input_layernorm.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.44.mlp.down_proj.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.44.mlp.gate_proj.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.44.mlp.up_proj.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.44.post_attention_layernorm.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.44.self_attn.k_proj.bias": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.44.self_attn.k_proj.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.44.self_attn.o_proj.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.44.self_attn.q_proj.bias": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.44.self_attn.q_proj.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.44.self_attn.v_proj.bias": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.44.self_attn.v_proj.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.45.input_layernorm.weight": "model-00006-of-00006.safetensors",
|
||||||
|
"model.layers.45.mlp.down_proj.weight": "model-00006-of-00006.safetensors",
|
||||||
|
"model.layers.45.mlp.gate_proj.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.45.mlp.up_proj.weight": "model-00006-of-00006.safetensors",
|
||||||
|
"model.layers.45.post_attention_layernorm.weight": "model-00006-of-00006.safetensors",
|
||||||
|
"model.layers.45.self_attn.k_proj.bias": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.45.self_attn.k_proj.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.45.self_attn.o_proj.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.45.self_attn.q_proj.bias": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.45.self_attn.q_proj.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.45.self_attn.v_proj.bias": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.45.self_attn.v_proj.weight": "model-00005-of-00006.safetensors",
|
||||||
|
"model.layers.46.input_layernorm.weight": "model-00006-of-00006.safetensors",
|
||||||
|
"model.layers.46.mlp.down_proj.weight": "model-00006-of-00006.safetensors",
|
||||||
|
"model.layers.46.mlp.gate_proj.weight": "model-00006-of-00006.safetensors",
|
||||||
|
"model.layers.46.mlp.up_proj.weight": "model-00006-of-00006.safetensors",
|
||||||
|
"model.layers.46.post_attention_layernorm.weight": "model-00006-of-00006.safetensors",
|
||||||
|
"model.layers.46.self_attn.k_proj.bias": "model-00006-of-00006.safetensors",
|
||||||
|
"model.layers.46.self_attn.k_proj.weight": "model-00006-of-00006.safetensors",
|
||||||
|
"model.layers.46.self_attn.o_proj.weight": "model-00006-of-00006.safetensors",
|
||||||
|
"model.layers.46.self_attn.q_proj.bias": "model-00006-of-00006.safetensors",
|
||||||
|
"model.layers.46.self_attn.q_proj.weight": "model-00006-of-00006.safetensors",
|
||||||
|
"model.layers.46.self_attn.v_proj.bias": "model-00006-of-00006.safetensors",
|
||||||
|
"model.layers.46.self_attn.v_proj.weight": "model-00006-of-00006.safetensors",
|
||||||
|
"model.layers.47.input_layernorm.weight": "model-00006-of-00006.safetensors",
|
||||||
|
"model.layers.47.mlp.down_proj.weight": "model-00006-of-00006.safetensors",
|
||||||
|
"model.layers.47.mlp.gate_proj.weight": "model-00006-of-00006.safetensors",
|
||||||
|
"model.layers.47.mlp.up_proj.weight": "model-00006-of-00006.safetensors",
|
||||||
|
"model.layers.47.post_attention_layernorm.weight": "model-00006-of-00006.safetensors",
|
||||||
|
"model.layers.47.self_attn.k_proj.bias": "model-00006-of-00006.safetensors",
|
||||||
|
"model.layers.47.self_attn.k_proj.weight": "model-00006-of-00006.safetensors",
|
||||||
|
"model.layers.47.self_attn.o_proj.weight": "model-00006-of-00006.safetensors",
|
||||||
|
"model.layers.47.self_attn.q_proj.bias": "model-00006-of-00006.safetensors",
|
||||||
|
"model.layers.47.self_attn.q_proj.weight": "model-00006-of-00006.safetensors",
|
||||||
|
"model.layers.47.self_attn.v_proj.bias": "model-00006-of-00006.safetensors",
|
||||||
|
"model.layers.47.self_attn.v_proj.weight": "model-00006-of-00006.safetensors",
|
||||||
|
"model.layers.5.input_layernorm.weight": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.5.mlp.down_proj.weight": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.5.mlp.gate_proj.weight": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.5.mlp.up_proj.weight": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.5.post_attention_layernorm.weight": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.5.self_attn.k_proj.bias": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.5.self_attn.k_proj.weight": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.5.self_attn.o_proj.weight": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.5.self_attn.q_proj.bias": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.5.self_attn.q_proj.weight": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.5.self_attn.v_proj.bias": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.5.self_attn.v_proj.weight": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.6.input_layernorm.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.6.mlp.down_proj.weight": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.6.mlp.gate_proj.weight": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.6.mlp.up_proj.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.6.post_attention_layernorm.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.6.self_attn.k_proj.bias": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.6.self_attn.k_proj.weight": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.6.self_attn.o_proj.weight": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.6.self_attn.q_proj.bias": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.6.self_attn.q_proj.weight": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.6.self_attn.v_proj.bias": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.6.self_attn.v_proj.weight": "model-00001-of-00006.safetensors",
|
||||||
|
"model.layers.7.input_layernorm.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.7.mlp.down_proj.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.7.mlp.gate_proj.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.7.mlp.up_proj.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.7.post_attention_layernorm.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.7.self_attn.k_proj.bias": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.7.self_attn.k_proj.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.7.self_attn.o_proj.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.7.self_attn.q_proj.bias": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.7.self_attn.q_proj.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.7.self_attn.v_proj.bias": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.7.self_attn.v_proj.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.8.input_layernorm.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.8.mlp.down_proj.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.8.mlp.gate_proj.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.8.mlp.up_proj.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.8.post_attention_layernorm.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.8.self_attn.k_proj.bias": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.8.self_attn.k_proj.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.8.self_attn.o_proj.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.8.self_attn.q_proj.bias": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.8.self_attn.q_proj.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.8.self_attn.v_proj.bias": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.8.self_attn.v_proj.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.9.input_layernorm.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.9.mlp.down_proj.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.9.mlp.gate_proj.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.9.mlp.up_proj.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.9.post_attention_layernorm.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.9.self_attn.k_proj.bias": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.9.self_attn.k_proj.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.9.self_attn.o_proj.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.9.self_attn.q_proj.bias": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.9.self_attn.q_proj.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.9.self_attn.v_proj.bias": "model-00002-of-00006.safetensors",
|
||||||
|
"model.layers.9.self_attn.v_proj.weight": "model-00002-of-00006.safetensors",
|
||||||
|
"model.norm.weight": "model-00006-of-00006.safetensors"
|
||||||
|
}
|
||||||
|
}
|
||||||
3
tokenizer.json
Normal file
3
tokenizer.json
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:3fd169731d2cbde95e10bf356d66d5997fd885dd8dbb6fb4684da3f23b2585d8
|
||||||
|
size 11421892
|
||||||
31
tokenizer_config.json
Normal file
31
tokenizer_config.json
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
{
|
||||||
|
"add_prefix_space": false,
|
||||||
|
"backend": "tokenizers",
|
||||||
|
"bos_token": null,
|
||||||
|
"clean_up_tokenization_spaces": false,
|
||||||
|
"eos_token": "<|im_end|>",
|
||||||
|
"errors": "replace",
|
||||||
|
"extra_special_tokens": [
|
||||||
|
"<|im_start|>",
|
||||||
|
"<|im_end|>",
|
||||||
|
"<|object_ref_start|>",
|
||||||
|
"<|object_ref_end|>",
|
||||||
|
"<|box_start|>",
|
||||||
|
"<|box_end|>",
|
||||||
|
"<|quad_start|>",
|
||||||
|
"<|quad_end|>",
|
||||||
|
"<|vision_start|>",
|
||||||
|
"<|vision_end|>",
|
||||||
|
"<|vision_pad|>",
|
||||||
|
"<|image_pad|>",
|
||||||
|
"<|video_pad|>"
|
||||||
|
],
|
||||||
|
"is_local": true,
|
||||||
|
"local_files_only": false,
|
||||||
|
"model_max_length": 131072,
|
||||||
|
"pad_token": "<|endoftext|>",
|
||||||
|
"split_special_tokens": false,
|
||||||
|
"tokenizer_class": "Qwen2Tokenizer",
|
||||||
|
"tool_parser_type": "json_tools",
|
||||||
|
"unk_token": null
|
||||||
|
}
|
||||||
61
validate.sh
Normal file
61
validate.sh
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# marvy-14B quick validation harness.
|
||||||
|
#
|
||||||
|
# Runs the task-coverage probes (Test 2 in VALIDATION.md) against any
|
||||||
|
# OpenAI-compatible endpoint — LM Studio, mlx_lm server, vLLM, etc. — and prints
|
||||||
|
# each artifact plus a lightweight heuristic PASS/FAIL on domain keywords.
|
||||||
|
#
|
||||||
|
# Usage:
|
||||||
|
# bash validate.sh # defaults to LM Studio
|
||||||
|
# BASE_URL=http://localhost:8080/v1 MODEL=marvy-14B bash validate.sh
|
||||||
|
# API_KEY=xxx BASE_URL=https://... MODEL=MainStack/marvy-14B bash validate.sh
|
||||||
|
set -uo pipefail
|
||||||
|
|
||||||
|
BASE_URL="${BASE_URL:-http://localhost:1234/v1}" # LM Studio default
|
||||||
|
MODEL="${MODEL:-marvy-14B}"
|
||||||
|
API_KEY="${API_KEY:-lm-studio}"
|
||||||
|
TEMP="${TEMP:-0.4}"
|
||||||
|
MAXTOK="${MAXTOK:-700}"
|
||||||
|
|
||||||
|
SYSTEM="You are a senior ServiceNow delivery consultant. You produce precise, implementation-grade artifacts: business analyses, requirements, solution design documents, user stories with acceptance criteria, test cases, and validation reviews. You favor out-of-the-box capabilities, cite concrete tables/plugins/sys_ids when relevant, and write in clear professional English."
|
||||||
|
|
||||||
|
# probe | expected-keyword-regex (case-insensitive) for a heuristic pass
|
||||||
|
PROMPTS=(
|
||||||
|
"Write a user story with acceptance criteria for auto-escalating P1 incidents that breach a 15-minute response SLA.|as a.*i want.*so that|acceptance|sla"
|
||||||
|
"Draft the Incident Management section of an SDD for a greenfield ITSM implementation. Include assignment rules and SLA design.|assignment|sla|incident"
|
||||||
|
"Extract structured requirements (id, category, priority, target phase, success metric) from: replace email-based access requests with a catalog item routed for manager approval.|priority|requirement|catalog"
|
||||||
|
"Write a test case for the story: Restrict the Assignment Group field on incidents to groups with the itil role.|pre-condition|step|expected|itil"
|
||||||
|
"Validate this requirement against best practice and list follow-up questions: All incidents must auto-close after 3 days.|follow-up|risk|question"
|
||||||
|
)
|
||||||
|
|
||||||
|
command -v jq >/dev/null 2>&1 || { echo "ERROR: jq is required (brew install jq)"; exit 1; }
|
||||||
|
|
||||||
|
echo "Endpoint: $BASE_URL Model: $MODEL Temp: $TEMP"
|
||||||
|
echo "============================================================"
|
||||||
|
pass=0; total=0
|
||||||
|
for entry in "${PROMPTS[@]}"; do
|
||||||
|
total=$((total+1))
|
||||||
|
prompt="${entry%%|*}"
|
||||||
|
rest="${entry#*|}"; regex="$rest"
|
||||||
|
payload=$(jq -n --arg m "$MODEL" --arg s "$SYSTEM" --arg p "$prompt" \
|
||||||
|
--argjson t "$TEMP" --argjson mx "$MAXTOK" \
|
||||||
|
'{model:$m,temperature:$t,max_tokens:$mx,messages:[{role:"system",content:$s},{role:"user",content:$p}]}')
|
||||||
|
resp=$(curl -s "$BASE_URL/chat/completions" -H "Content-Type: application/json" \
|
||||||
|
-H "Authorization: Bearer $API_KEY" -d "$payload")
|
||||||
|
content=$(echo "$resp" | jq -r '.choices[0].message.content // .error.message // "<<no response>>"')
|
||||||
|
echo ""
|
||||||
|
echo "### Probe $total: $prompt"
|
||||||
|
echo "------------------------------------------------------------"
|
||||||
|
echo "$content" | head -40
|
||||||
|
if echo "$content" | grep -iqE "$regex"; then
|
||||||
|
echo ">>> heuristic: PASS"
|
||||||
|
pass=$((pass+1))
|
||||||
|
else
|
||||||
|
echo ">>> heuristic: REVIEW (expected pattern not matched: $regex)"
|
||||||
|
fi
|
||||||
|
echo "============================================================"
|
||||||
|
done
|
||||||
|
echo ""
|
||||||
|
echo "Heuristic result: $pass/$total probes matched domain patterns."
|
||||||
|
echo "Pass threshold: >= 4/5 with implementation-grade, ServiceNow-specific content."
|
||||||
|
echo "Note: heuristics are a sanity check — read the outputs to judge true quality."
|
||||||
Reference in New Issue
Block a user