AI Foundry Fine-Tuning: 403 Error When Uploading Output Format Training Data with BYOS Enabled
I'm using AI Foundry for fine tuning my custom speech model. I needed content logging and I want that data to be stored in my BYOS (Bring Your Own Storage) storage account, but once I've done that, I'm unable to upload training data of type Output Format, all other types I've uploaded are fine. Only this specific type returns a 403 error when trying to upload it.
Error details:
- Target resource name: output_format
- Error: Status code 403 — Bring your own storage (BYOS) subscriptions are not permitted.
- Trace ID: REDACTED at suppport side.
There is no mention anywhere in the Microsoft documentation that this combination is not allowed or unsupported. Please advise on what steps I can take to resolve this. Has anyone else encountered this issue?
-
Amira Bedhiafi 42,941 Reputation points • MVP • Volunteer Moderator
Hello !
Thank you for posting on MS Learn Q&A.
BYOS is supported for custom speech or fine tuning with custom data and that one speech resource with storage account pair can be used for speech-to-text scenarios including custom speech.
Also, the dataset type you are uploading maps to OutputFormatting / Training data: Output format in the custom speech dataset table.
Because only output format fails while other dataset types upload correctly, I would not focus first on general RBAC issue.
-
SRILAKSHMI C 19,110 Reputation points • Microsoft External Staff • Moderator
Hello @Hristijan Stefov
Thank you for providing the detailed information and screenshot.
Based on the behavior you described, it appears that the issue is specifically related to using BYOS (Bring Your Own Storage) together with the “output_format” training dataset type during Speech fine-tuning in AI Foundry.
At present, the service supports storing prompt/completion datasets and certain auxiliary training files in customer-owned storage accounts when BYOS is enabled. However, the “output_format” training payload is currently not supported for storage in BYOS accounts and still needs to reside in the service-managed default storage. Because of this limitation, the upload request is being blocked and returns the following error:
Status code 403 — Bring your own storage (BYOS) subscriptions are not permitted.This explains why other dataset types upload successfully while only the “output_format” dataset fails.
As possible workarounds, you may try the following:
• Temporarily disable BYOS, upload the “output_format” training file so it is stored in the default service-managed storage, and then re-enable BYOS afterward for content logging/transcripts.
• Upload the “output_format” dataset through the default Files section in AI Foundry or via the Azure OpenAI fine-tuning REST API/CLI while BYOS is disabled.
Additionally, please verify that the appropriate permissions are assigned: • “Cognitive Services OpenAI Contributor” role on the AI Foundry/OpenAI resource • “Storage Blob Data Contributor” role on the associated storage account
At this time, this appears to be a current service limitation/restriction rather than an issue with your storage configuration or upload process.
Please refer this
• Fine-tuning access & role requirements: https://learn.microsoft.com/azure/ai-foundry/openai/how-to/fine-tuning-troubleshoot
• Speech BYOS setup & how to request preview access: https://learn.microsoft.com/azure/ai-services/speech-service/bring-your-own-storage-speech-resource
• Troubleshoot portal upload errors: https://learn.microsoft.com/azure/ai-foundry/openai/how-to/fine-tuning-troubleshoot#how-do-i-enable-fine-tuning
I hope this helps, do let me know if you have further queries.
Thank you.
-
Hristijan Stefov 0 Reputation points
Thank you for your response, however none of the proposed solutions are applicable based on your own documentation.
As stated in https://learn.microsoft.com/en-us/azure/ai-services/speech-service/bring-your-own-storage-speech-resource, a BYOS-enabled Speech resource cannot be converted to a non-BYOS resource, and a non-BYOS resource cannot be converted to BYOS. The storage account association is also permanent and cannot be changed after resource creation.
This means creating a new resource or disabling BYOS are not viable workarounds — doing so would require us to recreate our entire setup and lose all existing data, which is not acceptable for a production environment.
The root issue is that the OutputFormatting dataset kind is the only dataset type that does not support BYOS, while all other dataset kinds (Language, Acoustic, Pronunciation) work correctly with our BYOS resource. This appears to be an unimplemented feature gap on Microsoft's side rather than a misconfiguration on ours.
Given that this is blocking a crucial part of our business, we would like to request that a developer be assigned to this case to investigate and resolve the BYOS support gap for the OutputFormatting dataset kind.
Thank you, and we look forward to getting this resolved.
-
SRILAKSHMI C 19,110 Reputation points • Microsoft External Staff • Moderator
Apologies for the delay in response. We are checking this internally with the concerned team and will get back to you with an update as soon as possible.
Thank you!
-
Hristijan Stefov 0 Reputation points
Hi @SRILAKSHMI C ,
Thanks for the reply. I really expect this issue to be resolved, because the error doesn’t make much sense from my side.
Looking forward to your update.
Sign in to comment
2 answers
-
Manas Mohanty 17,185 Reputation points • Microsoft External Staff • Moderator
I was able to do a custom speech finetuning service with default service endpoint and sample file from azure samples from foundry classic
Just uploaded the above file in blob container and used the generated SAS Url as dataset connection.
Attached screenshot for your confidence.
Seeking confirmation on speech resource usage
I am assuming that you have attached BYOS speech resource and tried to leverage that resource for finetuning somehow.
Could you please share your teams email address in private message for clarity.
Thank you.
-
Alex Burlachenko 22,120 Reputation points • MVP • Volunteer Moderator
Hristijan Stefov hi & thanks for join me here at Q&A portal,
ur setup is probably fine,
output_format + BYOSis being blocked by the service, support needs to confirm if its unsupport, this looks like a real product limitation or backend policy block, not a bad file. The important clue is the exact error “BYOS subscriptions are not permitted” and the target resource is onlyoutput_format. Since other training data types upload fine, permissions/storage/network are probably ok; this specific dataset type is being rejected by the Speech fine-tuning service when BYOS is enabled. Microsoft BYOS docs describe Speech using customer-owned storage for artifacts, but I dont see public docs clearly sayingoutput_formattraining data is unsupported with BYOS, so I would treat this as undocumented limitation or service-side bug. Workarounds are: temporarily disable BYOS/content logging, upload theoutput_formatdata, then re-enable BYOS if the portal allows that flow; or create/use a separate non-BYOS Speech/Foundry resource just for this fine-tuning path; or avoidoutput_formatdata type if another accepted training format works for ur model. If compliance requires BYOS for all artifacts, dont bypass it silently; open support with trace ID<REDACTED at support side>and ask whether Custom Speech fine-tuning output_format datasets are supported with BYOS-enabled resources. ed or a bug.rgds,
Alex
&
If my answer was helpful pls mark it and additional thx if u follow me at Q&A portal
